diff --git a/app_/.gitignore b/app_/.gitignore deleted file mode 100644 index 4d29575..0000000 --- a/app_/.gitignore +++ /dev/null @@ -1,23 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# production -/build - -# misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* diff --git a/app_/README.md b/app_/README.md deleted file mode 100644 index 89b278a..0000000 --- a/app_/README.md +++ /dev/null @@ -1,68 +0,0 @@ -This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). - -## Available Scripts - -In the project directory, you can run: - -### `yarn start` - -Runs the app in the development mode.
-Open [http://localhost:3000](http://localhost:3000) to view it in the browser. - -The page will reload if you make edits.
-You will also see any lint errors in the console. - -### `yarn test` - -Launches the test runner in the interactive watch mode.
-See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. - -### `yarn build` - -Builds the app for production to the `build` folder.
-It correctly bundles React in production mode and optimizes the build for the best performance. - -The build is minified and the filenames include the hashes.
-Your app is ready to be deployed! - -See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. - -### `yarn eject` - -**Note: this is a one-way operation. Once you `eject`, you can’t go back!** - -If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. - -Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. - -You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. - -## Learn More - -You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). - -To learn React, check out the [React documentation](https://reactjs.org/). - -### Code Splitting - -This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting - -### Analyzing the Bundle Size - -This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size - -### Making a Progressive Web App - -This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app - -### Advanced Configuration - -This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration - -### Deployment - -This section has moved here: https://facebook.github.io/create-react-app/docs/deployment - -### `yarn build` fails to minify - -This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify diff --git a/app_/package-lock.json b/app_/package-lock.json deleted file mode 100644 index 22ae3c7..0000000 --- a/app_/package-lock.json +++ /dev/null @@ -1,14541 +0,0 @@ -{ - "name": "app", - "version": "0.1.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/compat-data": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.11.0.tgz", - "integrity": "sha512-TPSvJfv73ng0pfnEOh17bYMPQbI95+nGWc71Ss4vZdRBHTDqmM9Z8ZV4rYz8Ks7sfzc95n30k6ODIq5UGnXcYQ==", - "requires": { - "browserslist": "^4.12.0", - "invariant": "^2.2.4", - "semver": "^5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "@babel/core": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.0.tgz", - "integrity": "sha512-FuRhDRtsd6IptKpHXAa+4WPZYY2ZzgowkbLBecEDDSje1X/apG7jQM33or3NdOmjXBKWGOg4JmSiRfUfuTtHXw==", - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.6.0", - "@babel/helpers": "^7.6.0", - "@babel/parser": "^7.6.0", - "@babel/template": "^7.6.0", - "@babel/traverse": "^7.6.0", - "@babel/types": "^7.6.0", - "convert-source-map": "^1.1.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "@babel/generator": { - "version": "7.11.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.4.tgz", - "integrity": "sha512-Rn26vueFx0eOoz7iifCN2UHT6rGtnkSGWSoDRIy8jZN3B91PzeSULbswfLoOWuTuAcNwpG/mxy+uCTDnZ9Mp1g==", - "requires": { - "@babel/types": "^7.11.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", - "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", - "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-builder-react-jsx": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz", - "integrity": "sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-builder-react-jsx-experimental": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.10.5.tgz", - "integrity": "sha512-Buewnx6M4ttG+NLkKyt7baQn7ScC/Td+e99G914fRU8fGIUivDDgVIQeDHFa5e4CRSJQt58WpNHhsAZgtzVhsg==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-module-imports": "^7.10.4", - "@babel/types": "^7.10.5" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz", - "integrity": "sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==", - "requires": { - "@babel/compat-data": "^7.10.4", - "browserslist": "^4.12.0", - "invariant": "^2.2.4", - "levenary": "^1.1.1", - "semver": "^5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz", - "integrity": "sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.10.5", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz", - "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-regex": "^7.10.4", - "regexpu-core": "^4.7.0" - } - }, - "@babel/helper-define-map": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", - "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.11.4", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.11.4.tgz", - "integrity": "sha512-ux9hm3zR4WV1Y3xXxXkdG/0gxF9nvI0YVmKVhvK9AfMoaQkemL3sJpXw+Xbz65azo8qJiEz2XVDUpK3KYhH3ZQ==", - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz", - "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==", - "requires": { - "@babel/types": "^7.11.0" - } - }, - "@babel/helper-module-imports": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", - "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz", - "integrity": "sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==", - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-simple-access": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/template": "^7.10.4", - "@babel/types": "^7.11.0", - "lodash": "^4.17.19" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - }, - "@babel/helper-regex": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz", - "integrity": "sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==", - "requires": { - "lodash": "^4.17.19" - } - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.11.4", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.11.4.tgz", - "integrity": "sha512-tR5vJ/vBa9wFy3m5LLv2faapJLnDFxNWff2SAYkSE4rLUdbp7CdObYFgI7wK4T/Mj4UzpjPwzR8Pzmr5m7MHGA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", - "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", - "requires": { - "@babel/helper-member-expression-to-functions": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-simple-access": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", - "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", - "requires": { - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz", - "integrity": "sha512-0XIdiQln4Elglgjbwo9wuJpL/K7AGCY26kmEt0+pRP0TAj4jjyNq1MjoRvikrTVqKcx4Gysxt4cXvVFXP/JO2Q==", - "requires": { - "@babel/types": "^7.11.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "requires": { - "@babel/types": "^7.11.0" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==" - }, - "@babel/helper-wrap-function": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz", - "integrity": "sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helpers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz", - "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==", - "requires": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.11.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.4.tgz", - "integrity": "sha512-MggwidiH+E9j5Sh8pbrX5sJvMcsqS5o+7iB42M9/k0CD63MjYbdP4nhSh7uB5wnv2/RVzTZFTxzF/kIa5mrCqA==" - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz", - "integrity": "sha512-cNMCVezQbrRGvXJwm9fu/1sJj9bHdGAgKodZdLqOQIpfoH3raqmRPBM17+lh7CzhiKRRBrGtZL9WcjxSoGYUSg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.10.4", - "@babel/plugin-syntax-async-generators": "^7.8.0" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz", - "integrity": "sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-proposal-decorators": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.8.3.tgz", - "integrity": "sha512-e3RvdvS4qPJVTe288DlXjwKflpfy1hr0j5dz5WpIYYeP7vQZg2WfAEIp8k5/Lwis/m5REXEteIz6rrcDtXXG7w==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-decorators": "^7.8.3" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz", - "integrity": "sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.10.4.tgz", - "integrity": "sha512-aNdf0LY6/3WXkhh0Fdb6Zk9j1NMD8ovj3F6r0+3j837Pn1S1PdNtcwJ5EG9WkVPNHPxyJDaxMaAOVq4eki0qbg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz", - "integrity": "sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.0" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.11.0.tgz", - "integrity": "sha512-/f8p4z+Auz0Uaf+i8Ekf1iM7wUNLcViFUGiPxKeXvxTSl63B875YPiVdUDdem7hREcI0E0kSpEhS8tF5RphK7Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz", - "integrity": "sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz", - "integrity": "sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz", - "integrity": "sha512-wzch41N4yztwoRw0ak+37wxwJM2oiIiy6huGCoqkvSTA9acYWcPfn9Y4aJqmFFJ70KTJUu29f3DQ43uJ9HXzEA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.10.4" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz", - "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.11.0.tgz", - "integrity": "sha512-v9fZIu3Y8562RRwhm1BbMRxtqZNFmFA2EG+pT2diuU8PT3H6T/KXoZ54KgYisfOFZHV6PfvAiBIZ9Rcz+/JCxA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.11.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz", - "integrity": "sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz", - "integrity": "sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz", - "integrity": "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-decorators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.10.4.tgz", - "integrity": "sha512-2NaoC6fAk2VMdhY1eerkfHV+lVYC1u8b+jmRJISqANCJlTxYy19HGdIkkQtix2UtkcPuPu+IlDgrVseZnU03bw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-flow": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.10.4.tgz", - "integrity": "sha512-yxQsX1dJixF4qEEdzVbst3SZQ58Nrooz8NV9Z9GL4byTE25BvJgl5lf0RECUf0fh28rZBb/RYTWn/eeKwCMrZQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz", - "integrity": "sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz", - "integrity": "sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.10.4.tgz", - "integrity": "sha512-oSAEz1YkBCAKr5Yiq8/BNtvSAPwkp/IyUnwZogd8p+F0RuYQQrLeRUzIQhueQTTBy/F+a40uS7OFKxnkRvmvFQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz", - "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz", - "integrity": "sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==", - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.10.4" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz", - "integrity": "sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.11.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.11.1.tgz", - "integrity": "sha512-00dYeDE0EVEHuuM+26+0w/SCL0BH2Qy7LwHuI4Hi4MH5gkC8/AqMN5uWFJIsoXZrAphiMm1iXzBw6L2T+eA0ew==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz", - "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz", - "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz", - "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz", - "integrity": "sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz", - "integrity": "sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz", - "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==", - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.9.0.tgz", - "integrity": "sha512-7Qfg0lKQhEHs93FChxVLAvhBshOPQDtJUTVHr/ZwQNRccCm4O9D79r9tVSoV8iNwjP1YgfD+e/fgHcPkN1qEQg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-flow": "^7.8.3" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz", - "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz", - "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz", - "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz", - "integrity": "sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz", - "integrity": "sha512-elm5uruNio7CTLFItVC/rIzKLfQ17+fX7EVz5W0TMgIHFo1zY0Ozzx+lgwhL4plzl8OzVn6Qasx5DeEFyoNiRw==", - "requires": { - "@babel/helper-module-transforms": "^7.10.5", - "@babel/helper-plugin-utils": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz", - "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==", - "requires": { - "@babel/helper-module-transforms": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz", - "integrity": "sha512-f4RLO/OL14/FP1AEbcsWMzpbUz6tssRaeQg11RH1BP/XnPpRoVwgeYViMFacnkaw4k4wjRSjn3ip1Uw9TaXuMw==", - "requires": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.10.5", - "@babel/helper-plugin-utils": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz", - "integrity": "sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==", - "requires": { - "@babel/helper-module-transforms": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz", - "integrity": "sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz", - "integrity": "sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz", - "integrity": "sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz", - "integrity": "sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw==", - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz", - "integrity": "sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-react-constant-elements": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.10.4.tgz", - "integrity": "sha512-cYmQBW1pXrqBte1raMkAulXmi7rjg3VI6ZLg9QIic8Hq7BtYXaWuZSxsr2siOMI6SWwpxjWfnwhTUrd7JlAV7g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.10.4.tgz", - "integrity": "sha512-Zd4X54Mu9SBfPGnEcaGcOrVAYOtjT2on8QZkLKEq1S/tHexG39d9XXGZv19VfRrDjPJzFmPfTAqOQS1pfFOujw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.10.4.tgz", - "integrity": "sha512-L+MfRhWjX0eI7Js093MM6MacKU4M6dnCRa/QPDwYMxjljzSCzzlzKzj9Pk4P3OtrPcxr2N3znR419nr3Xw+65A==", - "requires": { - "@babel/helper-builder-react-jsx": "^7.10.4", - "@babel/helper-builder-react-jsx-experimental": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-jsx": "^7.10.4" - } - }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.10.4.tgz", - "integrity": "sha512-RM3ZAd1sU1iQ7rI2dhrZRZGv0aqzNQMbkIUCS1txYpi9wHQ2ZHNjo5TwX+UD6pvFW4AbWqLVYvKy5qJSAyRGjQ==", - "requires": { - "@babel/helper-builder-react-jsx-experimental": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-jsx": "^7.10.4" - } - }, - "@babel/plugin-transform-react-jsx-self": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.10.4.tgz", - "integrity": "sha512-yOvxY2pDiVJi0axdTWHSMi5T0DILN+H+SaeJeACHKjQLezEzhLx9nEF9xgpBLPtkZsks9cnb5P9iBEi21En3gg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-jsx": "^7.10.4" - } - }, - "@babel/plugin-transform-react-jsx-source": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.10.5.tgz", - "integrity": "sha512-wTeqHVkN1lfPLubRiZH3o73f4rfon42HpgxUSs86Nc+8QIcm/B9s8NNVXu/gwGcOyd7yDib9ikxoDLxJP0UiDA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-jsx": "^7.10.4" - } - }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.10.4.tgz", - "integrity": "sha512-+njZkqcOuS8RaPakrnR9KvxjoG1ASJWpoIv/doyWngId88JoFlPlISenGXjrVacZUIALGUr6eodRs1vmPnF23A==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz", - "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==", - "requires": { - "regenerator-transform": "^0.14.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz", - "integrity": "sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.9.0.tgz", - "integrity": "sha512-pUu9VSf3kI1OqbWINQ7MaugnitRss1z533436waNXp+0N3ur3zfut37sXiQMxkuCF4VUjwZucen/quskCh7NHw==", - "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "resolve": "^1.8.1", - "semver": "^5.5.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz", - "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.11.0.tgz", - "integrity": "sha512-UwQYGOqIdQJe4aWNyS7noqAnN2VbaczPLiEtln+zPowRNlD+79w3oi2TWfYe0eZgd+gjZCbsydN7lzWysDt+gw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.11.0" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz", - "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-regex": "^7.10.4" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz", - "integrity": "sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz", - "integrity": "sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.11.0.tgz", - "integrity": "sha512-edJsNzTtvb3MaXQwj8403B7mZoGu9ElDJQZOKjGUnvilquxBA3IQoEIOvkX/1O8xfAsnHS/oQhe2w/IXrr+w0w==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.10.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-typescript": "^7.10.4" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz", - "integrity": "sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz", - "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/preset-env": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.11.0.tgz", - "integrity": "sha512-2u1/k7rG/gTh02dylX2kL3S0IJNF+J6bfDSp4DI2Ma8QN6Y9x9pmAax59fsCk6QUQG0yqH47yJWA+u1I1LccAg==", - "requires": { - "@babel/compat-data": "^7.11.0", - "@babel/helper-compilation-targets": "^7.10.4", - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-proposal-async-generator-functions": "^7.10.4", - "@babel/plugin-proposal-class-properties": "^7.10.4", - "@babel/plugin-proposal-dynamic-import": "^7.10.4", - "@babel/plugin-proposal-export-namespace-from": "^7.10.4", - "@babel/plugin-proposal-json-strings": "^7.10.4", - "@babel/plugin-proposal-logical-assignment-operators": "^7.11.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4", - "@babel/plugin-proposal-numeric-separator": "^7.10.4", - "@babel/plugin-proposal-object-rest-spread": "^7.11.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.10.4", - "@babel/plugin-proposal-optional-chaining": "^7.11.0", - "@babel/plugin-proposal-private-methods": "^7.10.4", - "@babel/plugin-proposal-unicode-property-regex": "^7.10.4", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.10.4", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.10.4", - "@babel/plugin-transform-arrow-functions": "^7.10.4", - "@babel/plugin-transform-async-to-generator": "^7.10.4", - "@babel/plugin-transform-block-scoped-functions": "^7.10.4", - "@babel/plugin-transform-block-scoping": "^7.10.4", - "@babel/plugin-transform-classes": "^7.10.4", - "@babel/plugin-transform-computed-properties": "^7.10.4", - "@babel/plugin-transform-destructuring": "^7.10.4", - "@babel/plugin-transform-dotall-regex": "^7.10.4", - "@babel/plugin-transform-duplicate-keys": "^7.10.4", - "@babel/plugin-transform-exponentiation-operator": "^7.10.4", - "@babel/plugin-transform-for-of": "^7.10.4", - "@babel/plugin-transform-function-name": "^7.10.4", - "@babel/plugin-transform-literals": "^7.10.4", - "@babel/plugin-transform-member-expression-literals": "^7.10.4", - "@babel/plugin-transform-modules-amd": "^7.10.4", - "@babel/plugin-transform-modules-commonjs": "^7.10.4", - "@babel/plugin-transform-modules-systemjs": "^7.10.4", - "@babel/plugin-transform-modules-umd": "^7.10.4", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.10.4", - "@babel/plugin-transform-new-target": "^7.10.4", - "@babel/plugin-transform-object-super": "^7.10.4", - "@babel/plugin-transform-parameters": "^7.10.4", - "@babel/plugin-transform-property-literals": "^7.10.4", - "@babel/plugin-transform-regenerator": "^7.10.4", - "@babel/plugin-transform-reserved-words": "^7.10.4", - "@babel/plugin-transform-shorthand-properties": "^7.10.4", - "@babel/plugin-transform-spread": "^7.11.0", - "@babel/plugin-transform-sticky-regex": "^7.10.4", - "@babel/plugin-transform-template-literals": "^7.10.4", - "@babel/plugin-transform-typeof-symbol": "^7.10.4", - "@babel/plugin-transform-unicode-escapes": "^7.10.4", - "@babel/plugin-transform-unicode-regex": "^7.10.4", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.11.0", - "browserslist": "^4.12.0", - "core-js-compat": "^3.6.2", - "invariant": "^2.2.2", - "levenary": "^1.1.1", - "semver": "^5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-react": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.10.4.tgz", - "integrity": "sha512-BrHp4TgOIy4M19JAfO1LhycVXOPWdDbTRep7eVyatf174Hff+6Uk53sDyajqZPu8W1qXRBiYOfIamek6jA7YVw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-transform-react-display-name": "^7.10.4", - "@babel/plugin-transform-react-jsx": "^7.10.4", - "@babel/plugin-transform-react-jsx-development": "^7.10.4", - "@babel/plugin-transform-react-jsx-self": "^7.10.4", - "@babel/plugin-transform-react-jsx-source": "^7.10.4", - "@babel/plugin-transform-react-pure-annotations": "^7.10.4" - } - }, - "@babel/preset-typescript": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.9.0.tgz", - "integrity": "sha512-S4cueFnGrIbvYJgwsVFKdvOmpiL0XGw9MFW9D0vgRys5g36PBhZRL8NX8Gr2akz8XRtzq6HuDXPD/1nniagNUg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-transform-typescript": "^7.9.0" - } - }, - "@babel/runtime": { - "version": "7.11.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.11.2.tgz", - "integrity": "sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/traverse": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.0.tgz", - "integrity": "sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.11.0", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.11.0", - "@babel/types": "^7.11.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@babel/types": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.0.tgz", - "integrity": "sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "requires": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - } - }, - "@csstools/convert-colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", - "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==" - }, - "@csstools/normalize.css": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-9.0.1.tgz", - "integrity": "sha512-6It2EVfGskxZCQhuykrfnALg7oVeiI6KclWSmGDqB0AiInVrTGB9Jp9i4/Ad21u9Jde/voVQz6eFX/eSg/UsPA==" - }, - "@drizzle/react-components": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@drizzle/react-components/-/react-components-1.5.1.tgz", - "integrity": "sha512-L6N5iH3NXoN6oaFLBxQZg7MXIl5A5xaJRLtnymdBdKnEjWpMxIHuEAbDcbLqoC+yeYG/2iTXc6IshCHKKnBmaQ==", - "requires": { - "prop-types": "^15.7.2", - "react": "^16.8.6" - } - }, - "@drizzle/react-plugin": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@drizzle/react-plugin/-/react-plugin-1.5.1.tgz", - "integrity": "sha512-+CSFr9JnPrfaq4yGVu7HYZVGb+s5mETULzhM12XrqA/3KUtnmBx3v3CItBrxW5eoRq/MkYvfqKSdE1AVsT5c5Q==", - "requires": { - "debounce": "^1.2.0", - "deep-equal": "^1.0.1" - } - }, - "@drizzle/store": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@drizzle/store/-/store-1.5.1.tgz", - "integrity": "sha512-+esqXlRzVMHISYdxMInJgcCEQTa/fzbsZ0cxjFNwaTQTbgB316W8te2DYYiC5AVc+Gy34a7hpRo1V0DgWIUgSQ==", - "requires": { - "deepmerge": "^3.2.0", - "redux": "^4.0.1", - "redux-saga": "^0.16.0", - "web3": "^1.2.1" - } - }, - "@ethersproject/abi": { - "version": "5.0.0-beta.153", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.0-beta.153.tgz", - "integrity": "sha512-aXweZ1Z7vMNzJdLpR1CZUAIgnwjrZeUSvN9syCwlBaEBUFJmFY+HHnfuTI5vIhVs/mRkfJVrbEyl51JZQqyjAg==", - "requires": { - "@ethersproject/address": ">=5.0.0-beta.128", - "@ethersproject/bignumber": ">=5.0.0-beta.130", - "@ethersproject/bytes": ">=5.0.0-beta.129", - "@ethersproject/constants": ">=5.0.0-beta.128", - "@ethersproject/hash": ">=5.0.0-beta.128", - "@ethersproject/keccak256": ">=5.0.0-beta.127", - "@ethersproject/logger": ">=5.0.0-beta.129", - "@ethersproject/properties": ">=5.0.0-beta.131", - "@ethersproject/strings": ">=5.0.0-beta.130" - } - }, - "@ethersproject/address": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.0.3.tgz", - "integrity": "sha512-LMmLxL1wTNtvwgm/eegcaxtG/W7vHXKzHGUkK9KZEI9W+SfHrpT7cGX+hBcatcUXPANjS3TmOaQ+mq5JU5sGTw==", - "requires": { - "@ethersproject/bignumber": "^5.0.6", - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/keccak256": "^5.0.3", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/rlp": "^5.0.3", - "bn.js": "^4.4.0" - } - }, - "@ethersproject/bignumber": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.6.tgz", - "integrity": "sha512-fLilYOSH3DJXBrimx7PwrJdY/zAI5MGp229Mvhtcur76Lgt4qNWu9HTiwMGHP01Tkm3YP5gweF83GrQrA2tYUA==", - "requires": { - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/logger": "^5.0.5", - "bn.js": "^4.4.0" - } - }, - "@ethersproject/bytes": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.4.tgz", - "integrity": "sha512-9R6A6l9JN8x1U4s1dJCR+9h3MZTT3xQofr/Xx8wbDvj6NnY4CbBB0o8ZgHXvR74yV90pY2EzCekpkMBJnRzkSw==", - "requires": { - "@ethersproject/logger": "^5.0.5" - } - }, - "@ethersproject/constants": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.3.tgz", - "integrity": "sha512-iN7KBrA0zNFybDyrkcAPOcyU3CHXYFMd+KM2Jr07Kjg+DVB5wPpEXsOdd/K1KWFsFtGfNdPZ7QP8siLtCePXrQ==", - "requires": { - "@ethersproject/bignumber": "^5.0.6" - } - }, - "@ethersproject/hash": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.0.3.tgz", - "integrity": "sha512-KSnJyL0G9lxbOK0UPrUcaYTc/RidrX8c+kn7xnEpTmSGxqlndw4BzvQcRgYt31bOIwuFtwlWvOo6AN2tJgdQtA==", - "requires": { - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/keccak256": "^5.0.3", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/strings": "^5.0.3" - } - }, - "@ethersproject/keccak256": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.3.tgz", - "integrity": "sha512-VhW3mgZMBZlETV6AyOmjNeNG+Pg68igiKkPpat8/FZl0CKnfgQ+KZQZ/ee1vT+X0IUM8/djqnei6btmtbA27Ug==", - "requires": { - "@ethersproject/bytes": "^5.0.4", - "js-sha3": "0.5.7" - }, - "dependencies": { - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" - } - } - }, - "@ethersproject/logger": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.5.tgz", - "integrity": "sha512-gJj72WGzQhUtCk6kfvI8elTaPOQyMvrMghp/nbz0ivTo39fZ7IjypFh/ySDeUSdBNplAwhzWKKejQhdpyefg/w==" - }, - "@ethersproject/properties": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.0.3.tgz", - "integrity": "sha512-wLCSrbywkQgTO6tIF9ZdKsH9AIxPEqAJF/z5xcPkz1DK4mMAZgAXRNw1MrKYhyb+7CqNHbj3vxenNKFavGY/IA==", - "requires": { - "@ethersproject/logger": "^5.0.5" - } - }, - "@ethersproject/rlp": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.0.3.tgz", - "integrity": "sha512-Hz4yyA/ilGafASAqtTlLWkA/YqwhQmhbDAq2LSIp1AJNx+wtbKWFAKSckpeZ+WG/xZmT+fw5OFKK7a5IZ4DR5g==", - "requires": { - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/logger": "^5.0.5" - } - }, - "@ethersproject/signing-key": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.0.4.tgz", - "integrity": "sha512-I6pJoga1IvhtjYK5yXzCjs4ZpxrVbt9ZRAlpEw0SW9UuV020YfJH5EIVEGR2evdRceS3nAQIggqbsXSkP8Y1Dg==", - "requires": { - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/properties": "^5.0.3", - "elliptic": "6.5.3" - } - }, - "@ethersproject/strings": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.3.tgz", - "integrity": "sha512-8kEx3+Z6cMn581yh093qnaSa8H7XzmLn6g8YFDHUpzXM7+bvXvnL2ciHrJ+EbvaMQZpej6nNtl0nm7XF4PmQHA==", - "requires": { - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/constants": "^5.0.3", - "@ethersproject/logger": "^5.0.5" - } - }, - "@ethersproject/transactions": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.0.3.tgz", - "integrity": "sha512-cqsAAFUQV6iWqfgLL7KCPNfd3pXJPDdYtE6QuBEAIpc7cgbJ7TIDCF/dN+1otfERHJIbjGSNrhh4axKRnSFswg==", - "requires": { - "@ethersproject/address": "^5.0.3", - "@ethersproject/bignumber": "^5.0.6", - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/constants": "^5.0.3", - "@ethersproject/keccak256": "^5.0.3", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/properties": "^5.0.3", - "@ethersproject/rlp": "^5.0.3", - "@ethersproject/signing-key": "^5.0.4" - } - }, - "@hapi/address": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", - "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==" - }, - "@hapi/bourne": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", - "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==" - }, - "@hapi/hoek": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", - "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==" - }, - "@hapi/joi": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", - "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", - "requires": { - "@hapi/address": "2.x.x", - "@hapi/bourne": "1.x.x", - "@hapi/hoek": "8.x.x", - "@hapi/topo": "3.x.x" - } - }, - "@hapi/topo": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", - "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", - "requires": { - "@hapi/hoek": "^8.3.0" - } - }, - "@jest/console": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", - "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", - "requires": { - "@jest/source-map": "^24.9.0", - "chalk": "^2.0.1", - "slash": "^2.0.0" - } - }, - "@jest/core": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz", - "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==", - "requires": { - "@jest/console": "^24.7.1", - "@jest/reporters": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "graceful-fs": "^4.1.15", - "jest-changed-files": "^24.9.0", - "jest-config": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-resolve-dependencies": "^24.9.0", - "jest-runner": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "jest-watcher": "^24.9.0", - "micromatch": "^3.1.10", - "p-each-series": "^1.0.0", - "realpath-native": "^1.1.0", - "rimraf": "^2.5.4", - "slash": "^2.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" - } - } - }, - "@jest/environment": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", - "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", - "requires": { - "@jest/fake-timers": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0" - } - }, - "@jest/fake-timers": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", - "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", - "requires": { - "@jest/types": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-mock": "^24.9.0" - } - }, - "@jest/reporters": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz", - "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==", - "requires": { - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "glob": "^7.1.2", - "istanbul-lib-coverage": "^2.0.2", - "istanbul-lib-instrument": "^3.0.1", - "istanbul-lib-report": "^2.0.4", - "istanbul-lib-source-maps": "^3.0.1", - "istanbul-reports": "^2.2.6", - "jest-haste-map": "^24.9.0", - "jest-resolve": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.6.0", - "node-notifier": "^5.4.2", - "slash": "^2.0.0", - "source-map": "^0.6.0", - "string-length": "^2.0.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "@jest/source-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", - "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.1.15", - "source-map": "^0.6.0" - }, - "dependencies": { - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "@jest/test-result": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", - "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", - "requires": { - "@jest/console": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/istanbul-lib-coverage": "^2.0.0" - } - }, - "@jest/test-sequencer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", - "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", - "requires": { - "@jest/test-result": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-runner": "^24.9.0", - "jest-runtime": "^24.9.0" - } - }, - "@jest/transform": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", - "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^24.9.0", - "babel-plugin-istanbul": "^5.1.0", - "chalk": "^2.0.1", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.1.15", - "jest-haste-map": "^24.9.0", - "jest-regex-util": "^24.9.0", - "jest-util": "^24.9.0", - "micromatch": "^3.1.10", - "pirates": "^4.0.1", - "realpath-native": "^1.1.0", - "slash": "^2.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "2.4.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "@jest/types": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", - "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^13.0.0" - } - }, - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", - "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" - } - }, - "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" - }, - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" - }, - "@svgr/babel-plugin-add-jsx-attribute": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz", - "integrity": "sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig==" - }, - "@svgr/babel-plugin-remove-jsx-attribute": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz", - "integrity": "sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ==" - }, - "@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz", - "integrity": "sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w==" - }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz", - "integrity": "sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w==" - }, - "@svgr/babel-plugin-svg-dynamic-title": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz", - "integrity": "sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w==" - }, - "@svgr/babel-plugin-svg-em-dimensions": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz", - "integrity": "sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w==" - }, - "@svgr/babel-plugin-transform-react-native-svg": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz", - "integrity": "sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw==" - }, - "@svgr/babel-plugin-transform-svg-component": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz", - "integrity": "sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw==" - }, - "@svgr/babel-preset": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-4.3.3.tgz", - "integrity": "sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A==", - "requires": { - "@svgr/babel-plugin-add-jsx-attribute": "^4.2.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^4.2.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^4.2.0", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^4.2.0", - "@svgr/babel-plugin-svg-dynamic-title": "^4.3.3", - "@svgr/babel-plugin-svg-em-dimensions": "^4.2.0", - "@svgr/babel-plugin-transform-react-native-svg": "^4.2.0", - "@svgr/babel-plugin-transform-svg-component": "^4.2.0" - } - }, - "@svgr/core": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-4.3.3.tgz", - "integrity": "sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w==", - "requires": { - "@svgr/plugin-jsx": "^4.3.3", - "camelcase": "^5.3.1", - "cosmiconfig": "^5.2.1" - } - }, - "@svgr/hast-util-to-babel-ast": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz", - "integrity": "sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg==", - "requires": { - "@babel/types": "^7.4.4" - } - }, - "@svgr/plugin-jsx": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz", - "integrity": "sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w==", - "requires": { - "@babel/core": "^7.4.5", - "@svgr/babel-preset": "^4.3.3", - "@svgr/hast-util-to-babel-ast": "^4.3.2", - "svg-parser": "^2.0.0" - } - }, - "@svgr/plugin-svgo": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz", - "integrity": "sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w==", - "requires": { - "cosmiconfig": "^5.2.1", - "merge-deep": "^3.0.2", - "svgo": "^1.2.2" - } - }, - "@svgr/webpack": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-4.3.2.tgz", - "integrity": "sha512-F3VE5OvyOWBEd2bF7BdtFRyI6E9it3mN7teDw0JQTlVtc4HZEYiiLSl+Uf9Uub6IYHVGc+qIrxxDyeedkQru2w==", - "requires": { - "@babel/core": "^7.4.5", - "@babel/plugin-transform-react-constant-elements": "^7.0.0", - "@babel/preset-env": "^7.4.5", - "@babel/preset-react": "^7.0.0", - "@svgr/core": "^4.3.2", - "@svgr/plugin-jsx": "^4.3.2", - "@svgr/plugin-svgo": "^4.3.1", - "loader-utils": "^1.2.3" - } - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "@types/babel__core": { - "version": "7.1.9", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.9.tgz", - "integrity": "sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw==", - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.1", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", - "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", - "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.0.13", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.13.tgz", - "integrity": "sha512-i+zS7t6/s9cdQvbqKDARrcbrPvtJGlbYsMkazo03nTAK3RX9FNrLllXys22uiTGJapPOTZTQ35nHh4ISph4SLQ==", - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "requires": { - "@types/node": "*" - } - }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" - }, - "@types/eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==" - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "@types/json-schema": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz", - "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==" - }, - "@types/node": { - "version": "12.12.54", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.54.tgz", - "integrity": "sha512-ge4xZ3vSBornVYlDnk7yZ0gK6ChHf/CHB7Gl1I0Jhah8DDnEQqBzgohYG4FX4p81TNirSETOiSyn+y1r9/IR6w==" - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/q": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", - "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" - }, - "@types/secp256k1": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.1.tgz", - "integrity": "sha512-+ZjSA8ELlOp8SlKi0YLB2tz9d5iPNEmOBd+8Rz21wTMdaXQIa9b6TEnD6l5qKOCypE7FSyPyck12qZJxSDNoog==", - "requires": { - "@types/node": "*" - } - }, - "@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==" - }, - "@types/yargs": { - "version": "13.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.10.tgz", - "integrity": "sha512-MU10TSgzNABgdzKvQVW1nuuT+sgBMWeXNc3XOs5YXV5SDAK+PPja2eUuBNB9iqElu03xyEDqlnGw0jgl4nbqGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", - "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==" - }, - "@typescript-eslint/eslint-plugin": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", - "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", - "requires": { - "@typescript-eslint/experimental-utils": "2.34.0", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "tsutils": "^3.17.1" - } - }, - "@typescript-eslint/experimental-utils": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", - "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - } - }, - "@typescript-eslint/parser": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", - "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", - "requires": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.34.0", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-visitor-keys": "^1.1.0" - } - }, - "@typescript-eslint/typescript-estree": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", - "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", - "requires": { - "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" - } - } - }, - "@webassemblyjs/ast": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", - "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", - "requires": { - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", - "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==" - }, - "@webassemblyjs/helper-api-error": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", - "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==" - }, - "@webassemblyjs/helper-buffer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", - "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==" - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", - "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", - "requires": { - "@webassemblyjs/wast-printer": "1.8.5" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", - "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==" - }, - "@webassemblyjs/helper-module-context": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", - "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", - "requires": { - "@webassemblyjs/ast": "1.8.5", - "mamacro": "^0.0.3" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", - "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==" - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", - "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", - "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", - "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", - "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==" - }, - "@webassemblyjs/wasm-edit": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", - "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/helper-wasm-section": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-opt": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "@webassemblyjs/wast-printer": "1.8.5" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", - "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", - "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", - "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", - "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/floating-point-hex-parser": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-code-frame": "1.8.5", - "@webassemblyjs/helper-fsm": "1.8.5", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", - "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "abab": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.4.tgz", - "integrity": "sha512-Eu9ELJWCz/c1e9gTiCY+FceWxcqzjYEbqMgtndnuSqZSUCOL73TWNK2mHfIj4Cw2E/ongOp+JISVNCmovt2KYQ==" - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "acorn": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz", - "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==" - }, - "acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", - "requires": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" - }, - "dependencies": { - "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==" - } - } - }, - "acorn-jsx": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", - "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==" - }, - "acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==" - }, - "address": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", - "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==" - }, - "adjust-sourcemap-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz", - "integrity": "sha512-4hFsTsn58+YjrU9qKzML2JSSDqKvN8mUGQ0nNIrfPi8hmIONT4L3uUaT6MKdMsZ9AjsU6D2xDkZxCkbQPxChrA==", - "requires": { - "assert": "1.4.1", - "camelcase": "5.0.0", - "loader-utils": "1.2.3", - "object-path": "0.11.4", - "regex-parser": "2.2.10" - }, - "dependencies": { - "camelcase": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", - "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==" - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - } - } - } - }, - "ajv": { - "version": "6.12.4", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", - "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" - }, - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" - }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "requires": { - "type-fest": "^0.11.0" - }, - "dependencies": { - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" - } - } - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "aria-query": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", - "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", - "requires": { - "ast-types-flow": "0.0.7", - "commander": "^2.11.0" - } - }, - "arity-n": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz", - "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=" - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - }, - "array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "array-includes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", - "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", - "is-string": "^1.0.5" - } - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", - "requires": { - "util": "0.10.3" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - }, - "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=" - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "requires": { - "lodash": "^4.17.14" - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, - "autoprefixer": { - "version": "9.8.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", - "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", - "requires": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "colorette": "^1.2.1", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" - } - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" - }, - "aws4": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz", - "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==" - }, - "axobject-query": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==" - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - } - } - }, - "babel-eslint": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.3.tgz", - "integrity": "sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.0.0", - "@babel/traverse": "^7.0.0", - "@babel/types": "^7.0.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - } - }, - "babel-extract-comments": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", - "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", - "requires": { - "babylon": "^6.18.0" - } - }, - "babel-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", - "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", - "requires": { - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/babel__core": "^7.1.0", - "babel-plugin-istanbul": "^5.1.0", - "babel-preset-jest": "^24.9.0", - "chalk": "^2.4.2", - "slash": "^2.0.0" - } - }, - "babel-loader": { - "version": "8.0.6", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", - "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", - "requires": { - "find-cache-dir": "^2.0.0", - "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1", - "pify": "^4.0.1" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - } - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-istanbul": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", - "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "find-up": "^3.0.0", - "istanbul-lib-instrument": "^3.3.0", - "test-exclude": "^5.2.3" - } - }, - "babel-plugin-jest-hoist": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", - "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", - "requires": { - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", - "requires": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" - }, - "dependencies": { - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - } - }, - "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - } - } - }, - "babel-plugin-named-asset-import": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.6.tgz", - "integrity": "sha512-1aGDUfL1qOOIoqk9QKGIo2lANk+C7ko/fqH0uIyC71x3PEGz0uVP8ISgfEsFuG+FKmjHTvFK/nNM8dowpmUxLA==" - }, - "babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" - }, - "babel-plugin-transform-object-rest-spread": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", - "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", - "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.8.0", - "babel-runtime": "^6.26.0" - } - }, - "babel-plugin-transform-react-remove-prop-types": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" - }, - "babel-preset-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", - "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", - "requires": { - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "babel-plugin-jest-hoist": "^24.9.0" - } - }, - "babel-preset-react-app": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-9.1.2.tgz", - "integrity": "sha512-k58RtQOKH21NyKtzptoAvtAODuAJJs3ZhqBMl456/GnXEQ/0La92pNmwgWoMn5pBTrsvk3YYXdY7zpY4e3UIxA==", - "requires": { - "@babel/core": "7.9.0", - "@babel/plugin-proposal-class-properties": "7.8.3", - "@babel/plugin-proposal-decorators": "7.8.3", - "@babel/plugin-proposal-nullish-coalescing-operator": "7.8.3", - "@babel/plugin-proposal-numeric-separator": "7.8.3", - "@babel/plugin-proposal-optional-chaining": "7.9.0", - "@babel/plugin-transform-flow-strip-types": "7.9.0", - "@babel/plugin-transform-react-display-name": "7.8.3", - "@babel/plugin-transform-runtime": "7.9.0", - "@babel/preset-env": "7.9.0", - "@babel/preset-react": "7.9.1", - "@babel/preset-typescript": "7.9.0", - "@babel/runtime": "7.9.0", - "babel-plugin-macros": "2.8.0", - "babel-plugin-transform-react-remove-prop-types": "0.4.24" - }, - "dependencies": { - "@babel/core": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.0.tgz", - "integrity": "sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.0", - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helpers": "^7.9.0", - "@babel/parser": "^7.9.0", - "@babel/template": "^7.8.6", - "@babel/traverse": "^7.9.0", - "@babel/types": "^7.9.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz", - "integrity": "sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz", - "integrity": "sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz", - "integrity": "sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz", - "integrity": "sha512-3Jy/PCw8Fe6uBKtEgz3M82ljt+lTg+xJaM4og+eyu83qLT87ZUSckn0wy7r31jflURWLO83TW6Ylf7lyXj3m5A==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/preset-env": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.0.tgz", - "integrity": "sha512-712DeRXT6dyKAM/FMbQTV/FvRCms2hPCx+3weRjZ8iQVQWZejWWk1wwG6ViWMyqb/ouBbGOl5b6aCk0+j1NmsQ==", - "requires": { - "@babel/compat-data": "^7.9.0", - "@babel/helper-compilation-targets": "^7.8.7", - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-proposal-async-generator-functions": "^7.8.3", - "@babel/plugin-proposal-dynamic-import": "^7.8.3", - "@babel/plugin-proposal-json-strings": "^7.8.3", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-proposal-numeric-separator": "^7.8.3", - "@babel/plugin-proposal-object-rest-spread": "^7.9.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.8.3", - "@babel/plugin-proposal-optional-chaining": "^7.9.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.8.3", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.8.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.8.3", - "@babel/plugin-transform-arrow-functions": "^7.8.3", - "@babel/plugin-transform-async-to-generator": "^7.8.3", - "@babel/plugin-transform-block-scoped-functions": "^7.8.3", - "@babel/plugin-transform-block-scoping": "^7.8.3", - "@babel/plugin-transform-classes": "^7.9.0", - "@babel/plugin-transform-computed-properties": "^7.8.3", - "@babel/plugin-transform-destructuring": "^7.8.3", - "@babel/plugin-transform-dotall-regex": "^7.8.3", - "@babel/plugin-transform-duplicate-keys": "^7.8.3", - "@babel/plugin-transform-exponentiation-operator": "^7.8.3", - "@babel/plugin-transform-for-of": "^7.9.0", - "@babel/plugin-transform-function-name": "^7.8.3", - "@babel/plugin-transform-literals": "^7.8.3", - "@babel/plugin-transform-member-expression-literals": "^7.8.3", - "@babel/plugin-transform-modules-amd": "^7.9.0", - "@babel/plugin-transform-modules-commonjs": "^7.9.0", - "@babel/plugin-transform-modules-systemjs": "^7.9.0", - "@babel/plugin-transform-modules-umd": "^7.9.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", - "@babel/plugin-transform-new-target": "^7.8.3", - "@babel/plugin-transform-object-super": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.8.7", - "@babel/plugin-transform-property-literals": "^7.8.3", - "@babel/plugin-transform-regenerator": "^7.8.7", - "@babel/plugin-transform-reserved-words": "^7.8.3", - "@babel/plugin-transform-shorthand-properties": "^7.8.3", - "@babel/plugin-transform-spread": "^7.8.3", - "@babel/plugin-transform-sticky-regex": "^7.8.3", - "@babel/plugin-transform-template-literals": "^7.8.3", - "@babel/plugin-transform-typeof-symbol": "^7.8.4", - "@babel/plugin-transform-unicode-regex": "^7.8.3", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.9.0", - "browserslist": "^4.9.1", - "core-js-compat": "^3.6.2", - "invariant": "^2.2.2", - "levenary": "^1.1.1", - "semver": "^5.5.0" - } - }, - "@babel/preset-react": { - "version": "7.9.1", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.9.1.tgz", - "integrity": "sha512-aJBYF23MPj0RNdp/4bHnAP0NVqqZRr9kl0NAOP4nJCex6OYVio59+dnQzsAWFuogdLyeaKA1hmfUIVZkY5J+TQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-transform-react-display-name": "^7.8.3", - "@babel/plugin-transform-react-jsx": "^7.9.1", - "@babel/plugin-transform-react-jsx-development": "^7.9.0", - "@babel/plugin-transform-react-jsx-self": "^7.9.0", - "@babel/plugin-transform-react-jsx-source": "^7.9.0" - } - }, - "@babel/runtime": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.0.tgz", - "integrity": "sha512-cTIudHnzuWLS56ik4DnRnqqNf8MkdUzV4iFFI1h7Jo9xvrpQROYaAnaSd2mHLQAzzZAPfATynX5ord6YlNYNMA==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - }, - "dependencies": { - "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - } - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - } - } - }, - "base-x": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz", - "integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - }, - "bignumber.js": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", - "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" - }, - "blakejs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz", - "integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=" - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - }, - "dependencies": { - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - } - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" - }, - "browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", - "requires": { - "resolve": "1.1.7" - }, - "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=" - } - } - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.0.tgz", - "integrity": "sha512-pUsXKAF2lVwhmtpeA3LJrZ76jXuusrNyhduuQs7CDFf9foT4Y38aQOserd2lMe5DSSrjf3fx34oHwryuvxAUgQ==", - "requires": { - "caniuse-lite": "^1.0.30001111", - "electron-to-chromium": "^1.3.523", - "escalade": "^3.0.2", - "node-releases": "^1.1.60" - } - }, - "bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", - "requires": { - "base-x": "^3.0.2" - } - }, - "bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "requires": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", - "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" - }, - "buffer-to-arraybuffer": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", - "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "bufferutil": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.1.tgz", - "integrity": "sha512-xowrxvpxojqkagPcWRQVXZl0YXhRhAtBEIq3VoER1NH5Mw1n1o0ojdspp+GS2J//2gCVyrzQDApQ4unGF+QOoA==", - "requires": { - "node-gyp-build": "~3.7.0" - } - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" - }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" - } - } - }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "requires": { - "callsites": "^2.0.0" - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001119", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001119.tgz", - "integrity": "sha512-Hpwa4obv7EGP+TjkCh/wVvbtNJewxmtg4yVJBLFnxo35vbPapBr138bUWENkb5j5L9JZJ9RXLn4OrXRG/cecPQ==" - }, - "capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", - "requires": { - "rsvp": "^4.8.4" - } - }, - "case-sensitive-paths-webpack-plugin": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.2.0.tgz", - "integrity": "sha512-u5ElzokS8A1pm9vM3/iDgTcI3xqHxuCao94Oz8etI3cf0Tio0p8izkDYbTIn09uP3yUUr6+veaE6IkjnTYS46g==" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "dependencies": { - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "optional": true - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - } - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "requires": { - "tslib": "^1.9.0" - } - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "requires": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "dependencies": { - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - } - } - }, - "clone-deep": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", - "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=", - "requires": { - "for-own": "^0.1.3", - "is-plain-object": "^2.0.1", - "kind-of": "^3.0.2", - "lazy-cache": "^1.0.3", - "shallow-clone": "^0.1.2" - } - }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", - "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", - "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "color-string": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "colorette": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "common-tags": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", - "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "compose-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz", - "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=", - "requires": { - "arity-n": "^1.0.4" - } - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "confusing-browser-globals": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz", - "integrity": "sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==" - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==" - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" - }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=" - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "content-hash": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz", - "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", - "requires": { - "cids": "^0.7.1", - "multicodec": "^0.5.5", - "multihashes": "^0.4.15" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "cookiejar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - } - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, - "core-js": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", - "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" - }, - "core-js-compat": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", - "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", - "requires": { - "browserslist": "^4.8.5", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" - } - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - } - }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", - "requires": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "css-blank-pseudo": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", - "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", - "requires": { - "postcss": "^7.0.5" - } - }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" - }, - "css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", - "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", - "requires": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" - } - }, - "css-has-pseudo": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", - "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^5.0.0-rc.4" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "css-loader": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz", - "integrity": "sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==", - "requires": { - "camelcase": "^5.2.0", - "icss-utils": "^4.1.0", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.14", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^2.0.6", - "postcss-modules-scope": "^2.1.0", - "postcss-modules-values": "^2.0.0", - "postcss-value-parser": "^3.3.0", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - } - } - }, - "css-prefers-color-scheme": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", - "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", - "requires": { - "postcss": "^7.0.5" - } - }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "css-what": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz", - "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==" - }, - "cssdb": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", - "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==" - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - }, - "cssnano": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", - "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", - "requires": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", - "requires": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.2", - "postcss-unique-selectors": "^4.0.1" - } - }, - "cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=" - }, - "cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=" - }, - "cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", - "requires": { - "postcss": "^7.0.0" - } - }, - "cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==" - }, - "csso": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", - "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", - "requires": { - "css-tree": "1.0.0-alpha.39" - }, - "dependencies": { - "css-tree": { - "version": "1.0.0-alpha.39", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", - "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", - "requires": { - "mdn-data": "2.0.6", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - }, - "cssstyle": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", - "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", - "requires": { - "cssom": "0.3.x" - } - }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" - }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "damerau-levenshtein": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", - "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==" - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", - "requires": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" - }, - "dependencies": { - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - } - } - }, - "debounce": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz", - "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "deepmerge": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz", - "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==" - }, - "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - } - }, - "defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - } - } - }, - "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", - "requires": { - "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" - }, - "dependencies": { - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } - } - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "detect-newline": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", - "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=" - }, - "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" - }, - "detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - } - }, - "diff-sequences": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", - "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==" - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "dir-glob": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", - "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", - "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" - }, - "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "requires": { - "utila": "~0.4" - } - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", - "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==" - } - } - }, - "dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", - "requires": { - "webidl-conversions": "^4.0.2" - } - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot-prop": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", - "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", - "requires": { - "is-obj": "^2.0.0" - } - }, - "dotenv": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", - "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==" - }, - "dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "electron-to-chromium": { - "version": "1.3.555", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.555.tgz", - "integrity": "sha512-/55x3nF2feXFZ5tdGUOr00TxnUjUgdxhrn+eCJ1FAcoAt+cKQTjQkUC5XF4frMWE1R5sjHk+JueuBalimfe5Pg==" - }, - "elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", - "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "entities": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==" - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", - "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "escalade": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.2.tgz", - "integrity": "sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "requires": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true - } - } - }, - "eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "requires": { - "type-fest": "^0.8.1" - } - }, - "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==" - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - } - } - }, - "eslint-config-react-app": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz", - "integrity": "sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==", - "requires": { - "confusing-browser-globals": "^1.0.9" - } - }, - "eslint-import-resolver-node": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", - "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", - "requires": { - "debug": "^2.6.9", - "resolve": "^1.13.1" - }, - "dependencies": { - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "requires": { - "path-parse": "^1.0.6" - } - } - } - }, - "eslint-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-3.0.2.tgz", - "integrity": "sha512-S5VnD+UpVY1PyYRqeBd/4pgsmkvSokbHqTXAQMpvCyRr3XN2tvSLo9spm2nEpqQqh9dezw3os/0zWihLeOg2Rw==", - "requires": { - "fs-extra": "^8.1.0", - "loader-fs-cache": "^1.0.2", - "loader-utils": "^1.2.3", - "object-hash": "^1.3.1", - "schema-utils": "^2.2.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", - "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", - "requires": { - "debug": "^2.6.9", - "pkg-dir": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "requires": { - "find-up": "^2.1.0" - } - } - } - }, - "eslint-plugin-flowtype": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz", - "integrity": "sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==", - "requires": { - "lodash": "^4.17.15" - } - }, - "eslint-plugin-import": { - "version": "2.18.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz", - "integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==", - "requires": { - "array-includes": "^3.0.3", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.2", - "eslint-module-utils": "^2.4.0", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.0", - "read-pkg-up": "^2.0.0", - "resolve": "^1.11.0" - }, - "dependencies": { - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "requires": { - "locate-path": "^2.0.0" - } - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "requires": { - "pify": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - } - } - } - }, - "eslint-plugin-jsx-a11y": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz", - "integrity": "sha512-CawzfGt9w83tyuVekn0GDPU9ytYtxyxyFZ3aSWROmnRRFQFT2BiPJd7jvRdzNDi6oLWaS2asMeYSNMjWTV4eNg==", - "requires": { - "@babel/runtime": "^7.4.5", - "aria-query": "^3.0.0", - "array-includes": "^3.0.3", - "ast-types-flow": "^0.0.7", - "axobject-query": "^2.0.2", - "damerau-levenshtein": "^1.0.4", - "emoji-regex": "^7.0.2", - "has": "^1.0.3", - "jsx-ast-utils": "^2.2.1" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - } - } - }, - "eslint-plugin-react": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.14.3.tgz", - "integrity": "sha512-EzdyyBWC4Uz2hPYBiEJrKCUi2Fn+BJ9B/pJQcjw5X+x/H2Nm59S4MJIvL4O5NEE0+WbnQwEBxWY03oUk+Bc3FA==", - "requires": { - "array-includes": "^3.0.3", - "doctrine": "^2.1.0", - "has": "^1.0.3", - "jsx-ast-utils": "^2.1.0", - "object.entries": "^1.1.0", - "object.fromentries": "^2.0.0", - "object.values": "^1.1.0", - "prop-types": "^15.7.2", - "resolve": "^1.10.1" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "requires": { - "esutils": "^2.0.2" - } - } - } - }, - "eslint-plugin-react-hooks": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz", - "integrity": "sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA==" - }, - "eslint-scope": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", - "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - }, - "espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", - "requires": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - } - } - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "eth-ens-namehash": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", - "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", - "requires": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" - }, - "dependencies": { - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" - } - } - }, - "eth-lib": { - "version": "0.1.29", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", - "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - } - }, - "ethereum-bloom-filters": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.7.tgz", - "integrity": "sha512-cDcJJSJ9GMAcURiAWO3DxIEhTL/uWqlQnvgKpuYQzYPrt/izuGU+1ntQmHt0IRq6ADoSYHFnB+aCEFIldjhkMQ==", - "requires": { - "js-sha3": "^0.8.0" - } - }, - "ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "requires": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "ethereumjs-common": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz", - "integrity": "sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA==" - }, - "ethereumjs-tx": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", - "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", - "requires": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", - "requires": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - } - } - }, - "ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", - "requires": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - } - }, - "eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==" - }, - "events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==" - }, - "eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", - "requires": { - "original": "^1.0.0" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "exec-sh": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", - "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==" - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "expect": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", - "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", - "requires": { - "@jest/types": "^24.9.0", - "ansi-styles": "^3.2.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.9.0" - } - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - } - }, - "ext": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", - "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", - "requires": { - "type": "^2.0.0" - }, - "dependencies": { - "type": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.1.0.tgz", - "integrity": "sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==" - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - }, - "dependencies": { - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - } - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "requires": { - "bser": "2.1.1" - } - }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==" - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "requires": { - "flat-cache": "^2.0.1" - } - }, - "file-loader": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", - "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", - "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^1.0.0" - } - }, - "filesize": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", - "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==" - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - } - }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==" - }, - "flatten": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", - "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==" - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "follow-redirects": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz", - "integrity": "sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==" - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "requires": { - "for-in": "^1.0.1" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "fork-ts-checker-webpack-plugin": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz", - "integrity": "sha512-zEhg7Hz+KhZlBhILYpXy+Beu96gwvkROWJiTXOCyOOMMrdBIRPvsBpBqgTI4jfJGrJXcqGwJR8zsBGDmzY0jsA==", - "requires": { - "babel-code-frame": "^6.22.0", - "chalk": "^2.4.1", - "chokidar": "^2.0.4", - "micromatch": "^3.1.10", - "minimatch": "^3.0.4", - "semver": "^5.6.0", - "tapable": "^1.0.0", - "worker-rpc": "^0.1.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "requires": { - "minipass": "^2.6.0" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz", - "integrity": "sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" - }, - "gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" - }, - "global": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", - "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", - "requires": { - "min-document": "^2.19.0", - "process": "~0.5.1" - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - } - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "globby": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", - "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", - "requires": { - "array-union": "^1.0.1", - "dir-glob": "2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - }, - "dependencies": { - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" - } - } - }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" - }, - "gzip-size": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", - "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", - "requires": { - "duplexer": "^0.1.1", - "pify": "^4.0.1" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - } - } - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "harmony-reflect": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.1.tgz", - "integrity": "sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - } - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" - }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "requires": { - "has-symbol-support-x": "^1.4.1" - } - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==" - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" - }, - "hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" - }, - "html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==" - }, - "html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", - "requires": { - "whatwg-encoding": "^1.0.1" - } - }, - "html-entities": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", - "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==" - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - }, - "html-minifier": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", - "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", - "requires": { - "camel-case": "3.0.x", - "clean-css": "4.2.x", - "commander": "2.17.x", - "he": "1.2.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.4.x" - }, - "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" - } - } - }, - "html-webpack-plugin": { - "version": "4.0.0-beta.5", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.5.tgz", - "integrity": "sha512-y5l4lGxOW3pz3xBTFdfB9rnnrWRPVxlAhX6nrBYIcW+2k2zC3mSp/3DxlWVCMBfnO6UAnoF8OcFn0IMy6kaKAQ==", - "requires": { - "html-minifier": "^3.5.20", - "loader-utils": "^1.1.0", - "lodash": "^4.17.11", - "pretty-error": "^2.1.1", - "tapable": "^1.1.0", - "util.promisify": "1.0.0" - }, - "dependencies": { - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - } - } - }, - "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - } - } - }, - "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } - } - }, - "http-https": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", - "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=" - }, - "http-parser-js": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz", - "integrity": "sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==" - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-middleware": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.2.tgz", - "integrity": "sha512-aYk1rTKqLTus23X3L96LGNCGNgWpG4cG0XoZIT1GUPhhulEHX/QalnO6Vbo+WmKWi4AL2IidjuC0wZtbpg0yhQ==", - "requires": { - "http-proxy": "^1.18.1", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=" - }, - "icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", - "requires": { - "postcss": "^7.0.14" - } - }, - "identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ=", - "requires": { - "harmony-reflect": "^1.4.6" - } - }, - "idna-uts46-hx": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", - "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", - "requires": { - "punycode": "2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=" - } - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" - }, - "immer": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/immer/-/immer-1.10.0.tgz", - "integrity": "sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg==" - }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "requires": { - "import-from": "^2.1.0" - } - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "requires": { - "resolve-from": "^3.0.0" - } - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" - }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - } - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=" - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-callable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", - "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==" - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "requires": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" - }, - "is-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=" - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "requires": { - "is-path-inside": "^1.0.0" - } - }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "requires": { - "path-is-inside": "^1.0.1" - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" - }, - "is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" - }, - "is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" - }, - "is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", - "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", - "requires": { - "html-comment-regex": "^1.1.0" - } - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==" - }, - "istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", - "requires": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - } - }, - "istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", - "requires": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" - }, - "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "istanbul-reports": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", - "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", - "requires": { - "html-escaper": "^2.0.0" - } - }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - } - }, - "jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", - "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==", - "requires": { - "import-local": "^2.0.0", - "jest-cli": "^24.9.0" - }, - "dependencies": { - "jest-cli": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", - "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", - "requires": { - "@jest/core": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "import-local": "^2.0.0", - "is-ci": "^2.0.0", - "jest-config": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "prompts": "^2.0.1", - "realpath-native": "^1.1.0", - "yargs": "^13.3.0" - } - } - } - }, - "jest-changed-files": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz", - "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==", - "requires": { - "@jest/types": "^24.9.0", - "execa": "^1.0.0", - "throat": "^4.0.0" - } - }, - "jest-config": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", - "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", - "requires": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^24.9.0", - "@jest/types": "^24.9.0", - "babel-jest": "^24.9.0", - "chalk": "^2.0.1", - "glob": "^7.1.1", - "jest-environment-jsdom": "^24.9.0", - "jest-environment-node": "^24.9.0", - "jest-get-type": "^24.9.0", - "jest-jasmine2": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "micromatch": "^3.1.10", - "pretty-format": "^24.9.0", - "realpath-native": "^1.1.0" - } - }, - "jest-diff": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", - "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", - "requires": { - "chalk": "^2.0.1", - "diff-sequences": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-docblock": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", - "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", - "requires": { - "detect-newline": "^2.1.0" - } - }, - "jest-each": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", - "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", - "requires": { - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "jest-get-type": "^24.9.0", - "jest-util": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-environment-jsdom": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", - "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", - "requires": { - "@jest/environment": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-util": "^24.9.0", - "jsdom": "^11.5.1" - } - }, - "jest-environment-jsdom-fourteen": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom-fourteen/-/jest-environment-jsdom-fourteen-0.1.0.tgz", - "integrity": "sha512-4vtoRMg7jAstitRzL4nbw83VmGH8Rs13wrND3Ud2o1fczDhMUF32iIrNKwYGgeOPUdfvZU4oy8Bbv+ni1fgVCA==", - "requires": { - "jest-mock": "^24.5.0", - "jest-util": "^24.5.0", - "jsdom": "^14.0.0" - }, - "dependencies": { - "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==" - }, - "jsdom": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-14.1.0.tgz", - "integrity": "sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng==", - "requires": { - "abab": "^2.0.0", - "acorn": "^6.0.4", - "acorn-globals": "^4.3.0", - "array-equal": "^1.0.0", - "cssom": "^0.3.4", - "cssstyle": "^1.1.1", - "data-urls": "^1.1.0", - "domexception": "^1.0.1", - "escodegen": "^1.11.0", - "html-encoding-sniffer": "^1.0.2", - "nwsapi": "^2.1.3", - "parse5": "5.1.0", - "pn": "^1.1.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.5", - "saxes": "^3.1.9", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.5.0", - "w3c-hr-time": "^1.0.1", - "w3c-xmlserializer": "^1.1.2", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^7.0.0", - "ws": "^6.1.2", - "xml-name-validator": "^3.0.0" - } - }, - "parse5": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", - "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==" - }, - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "requires": { - "async-limiter": "~1.0.0" - } - } - } - }, - "jest-environment-node": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", - "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", - "requires": { - "@jest/environment": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-util": "^24.9.0" - } - }, - "jest-get-type": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", - "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==" - }, - "jest-haste-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", - "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", - "requires": { - "@jest/types": "^24.9.0", - "anymatch": "^2.0.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.7", - "graceful-fs": "^4.1.15", - "invariant": "^2.2.4", - "jest-serializer": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.9.0", - "micromatch": "^3.1.10", - "sane": "^4.0.3", - "walker": "^1.0.7" - }, - "dependencies": { - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "optional": true - } - } - }, - "jest-jasmine2": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", - "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", - "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "co": "^4.6.0", - "expect": "^24.9.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "pretty-format": "^24.9.0", - "throat": "^4.0.0" - } - }, - "jest-leak-detector": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", - "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", - "requires": { - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-matcher-utils": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", - "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", - "requires": { - "chalk": "^2.0.1", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-message-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", - "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^2.0.1", - "micromatch": "^3.1.10", - "slash": "^2.0.0", - "stack-utils": "^1.0.1" - } - }, - "jest-mock": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", - "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", - "requires": { - "@jest/types": "^24.9.0" - } - }, - "jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==" - }, - "jest-regex-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", - "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==" - }, - "jest-resolve": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", - "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", - "requires": { - "@jest/types": "^24.9.0", - "browser-resolve": "^1.11.3", - "chalk": "^2.0.1", - "jest-pnp-resolver": "^1.2.1", - "realpath-native": "^1.1.0" - } - }, - "jest-resolve-dependencies": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz", - "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==", - "requires": { - "@jest/types": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-snapshot": "^24.9.0" - } - }, - "jest-runner": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", - "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", - "requires": { - "@jest/console": "^24.7.1", - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.4.2", - "exit": "^0.1.2", - "graceful-fs": "^4.1.15", - "jest-config": "^24.9.0", - "jest-docblock": "^24.3.0", - "jest-haste-map": "^24.9.0", - "jest-jasmine2": "^24.9.0", - "jest-leak-detector": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-resolve": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.6.0", - "source-map-support": "^0.5.6", - "throat": "^4.0.0" - } - }, - "jest-runtime": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", - "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", - "requires": { - "@jest/console": "^24.7.1", - "@jest/environment": "^24.9.0", - "@jest/source-map": "^24.3.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/yargs": "^13.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.1.15", - "jest-config": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "realpath-native": "^1.1.0", - "slash": "^2.0.0", - "strip-bom": "^3.0.0", - "yargs": "^13.3.0" - } - }, - "jest-serializer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", - "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==" - }, - "jest-snapshot": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", - "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", - "requires": { - "@babel/types": "^7.0.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "expect": "^24.9.0", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-resolve": "^24.9.0", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^24.9.0", - "semver": "^6.2.0" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - } - } - }, - "jest-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", - "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", - "requires": { - "@jest/console": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/source-map": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "callsites": "^3.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.15", - "is-ci": "^2.0.0", - "mkdirp": "^0.5.1", - "slash": "^2.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "jest-validate": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", - "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", - "requires": { - "@jest/types": "^24.9.0", - "camelcase": "^5.3.1", - "chalk": "^2.0.1", - "jest-get-type": "^24.9.0", - "leven": "^3.1.0", - "pretty-format": "^24.9.0" - } - }, - "jest-watch-typeahead": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.4.0.tgz", - "integrity": "sha512-bJR/HPNgOQnkmttg1OkBIrYFAYuxFxExtgQh67N2qPvaWGVC8TCkedRNPKBfmZfVXFD3u2sCH+9OuS5ApBfCgA==", - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^2.4.1", - "jest-watcher": "^24.3.0", - "slash": "^3.0.0", - "string-length": "^3.1.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "string-length": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", - "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", - "requires": { - "astral-regex": "^1.0.0", - "strip-ansi": "^5.2.0" - } - } - } - }, - "jest-watcher": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz", - "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==", - "requires": { - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/yargs": "^13.0.0", - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "jest-util": "^24.9.0", - "string-length": "^2.0.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" - } - } - }, - "jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", - "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" - }, - "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "jsdom": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", - "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", - "requires": { - "abab": "^2.0.0", - "acorn": "^5.5.3", - "acorn-globals": "^4.1.0", - "array-equal": "^1.0.0", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": "^1.0.0", - "data-urls": "^1.0.0", - "domexception": "^1.0.1", - "escodegen": "^1.9.1", - "html-encoding-sniffer": "^1.0.2", - "left-pad": "^1.3.0", - "nwsapi": "^2.0.7", - "parse5": "4.0.0", - "pn": "^1.1.0", - "request": "^2.87.0", - "request-promise-native": "^1.0.5", - "sax": "^1.2.4", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.3.4", - "w3c-hr-time": "^1.0.1", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.3", - "whatwg-mimetype": "^2.1.0", - "whatwg-url": "^6.4.1", - "ws": "^5.2.0", - "xml-name-validator": "^3.0.0" - }, - "dependencies": { - "acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==" - }, - "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", - "requires": { - "async-limiter": "~1.0.0" - } - } - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, - "json-parse-even-better-errors": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.0.tgz", - "integrity": "sha512-o3aP+RsWDJZayj1SbHNQAI8x0v3T3SKiGoZlNYfbUP1S3omJQ6i9CnqADqkSPaOAxwua4/1YWx5CM7oiChJt2Q==" - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "requires": { - "jsonify": "~0.0.0" - } - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" - }, - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "requires": { - "minimist": "^1.2.5" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "jsx-ast-utils": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz", - "integrity": "sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==", - "requires": { - "array-includes": "^3.1.1", - "object.assign": "^4.1.0" - } - }, - "keccak": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz", - "integrity": "sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==", - "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "dependencies": { - "node-gyp-build": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", - "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==" - } - } - }, - "keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "requires": { - "json-buffer": "3.0.0" - } - }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - }, - "last-call-webpack-plugin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", - "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", - "requires": { - "lodash": "^4.17.5", - "webpack-sources": "^1.1.0" - } - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "requires": { - "invert-kv": "^2.0.0" - } - }, - "left-pad": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", - "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==" - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - }, - "levenary": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", - "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", - "requires": { - "leven": "^3.1.0" - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "loader-fs-cache": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz", - "integrity": "sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==", - "requires": { - "find-cache-dir": "^0.1.1", - "mkdirp": "^0.5.1" - }, - "dependencies": { - "find-cache-dir": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", - "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "pkg-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", - "requires": { - "find-up": "^1.0.0" - } - } - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - } - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" - }, - "lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "requires": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" - }, - "loglevel": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.0.tgz", - "integrity": "sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ==" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "requires": { - "tmpl": "1.0.x" - } - }, - "mamacro": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", - "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==" - }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "requires": { - "p-defer": "^1.0.0" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "requires": { - "object-visit": "^1.0.0" - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "merge-deep": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.2.tgz", - "integrity": "sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA==", - "requires": { - "arr-union": "^3.1.0", - "clone-deep": "^0.2.4", - "kind-of": "^3.0.2" - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "microevent.ts": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", - "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==" - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - } - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" - }, - "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "requires": { - "mime-db": "1.44.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "requires": { - "dom-walk": "^0.1.0" - } - }, - "mini-css-extract-plugin": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz", - "integrity": "sha512-MNpRGbNA52q6U92i0qbVpQNsgk7LExy41MdAlG84FeytfDOtRIf/mCHdEgG8rpTKOaNKiqUnZdlptF469hxqOw==", - "requires": { - "loader-utils": "^1.1.0", - "normalize-url": "1.9.1", - "schema-utils": "^1.0.0", - "webpack-sources": "^1.1.0" - }, - "dependencies": { - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - } - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "requires": { - "minipass": "^2.9.0" - } - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mixin-object": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", - "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", - "requires": { - "for-in": "^0.1.3", - "is-extendable": "^0.1.1" - }, - "dependencies": { - "for-in": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", - "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=" - } - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "mkdirp-promise": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", - "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", - "requires": { - "mkdirp": "*" - } - }, - "mock-fs": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.13.0.tgz", - "integrity": "sha512-DD0vOdofJdoaRNtnWcrXe6RQbpHkPPmtqGq14uRX0F8ZKJ5nv89CVTYl/BZdppDxBDaV0hl75htg3abpEWlPZA==" - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - } - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" - }, - "multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "requires": { - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "requires": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "nano-json-stream-parser": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", - "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=" - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - } - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "requires": { - "lower-case": "^1.1.1" - } - }, - "node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" - }, - "node-forge": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", - "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==" - }, - "node-gyp-build": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.7.0.tgz", - "integrity": "sha512-L/Eg02Epx6Si2NXmedx+Okg+4UHqmaf3TNcxd50SF9NQGcJaON3AtU++kax69XV7YWz4tUspqZSAsVofhFKG2w==" - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } - } - } - } - }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=" - }, - "node-notifier": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", - "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", - "requires": { - "growly": "^1.3.0", - "is-wsl": "^1.1.0", - "semver": "^5.5.0", - "shellwords": "^0.1.1", - "which": "^1.3.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "node-releases": { - "version": "1.1.60", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.60.tgz", - "integrity": "sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA==" - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" - }, - "normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "requires": { - "path-key": "^2.0.0" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "requires": { - "boolbase": "~1.0.0" - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", - "requires": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - } - } - }, - "nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "object-hash": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", - "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==" - }, - "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==" - }, - "object-is": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz", - "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object-path": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz", - "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=" - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.entries": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz", - "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "has": "^1.0.3" - } - }, - "object.fromentries": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz", - "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "requires": { - "isobject": "^3.0.1" - } - }, - "object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" - } - }, - "oboe": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.4.tgz", - "integrity": "sha1-IMiM2wwVNxuwQRklfU/dNLCqSfY=", - "requires": { - "http-https": "^1.0.0" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "open": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", - "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", - "requires": { - "is-wsl": "^1.1.0" - } - }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "requires": { - "is-wsl": "^1.1.0" - } - }, - "optimize-css-assets-webpack-plugin": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz", - "integrity": "sha512-q9fbvCRS6EYtUKKSwI87qm2IxlyJK5b4dygW1rKUBT6mMDhdG5e5bZT63v6tnJR9F9FB/H5a0HTmtw+laUBxKA==", - "requires": { - "cssnano": "^4.1.10", - "last-call-webpack-plugin": "^3.0.0" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "requires": { - "url-parse": "^1.4.3" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" - }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" - }, - "p-each-series": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", - "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", - "requires": { - "p-reduce": "^1.0.0" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, - "p-is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==" - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==" - }, - "p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=" - }, - "p-timeout": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", - "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", - "requires": { - "p-finally": "^1.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "requires": { - "no-case": "^2.2.0" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { - "callsites": "^3.0.0" - }, - "dependencies": { - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - } - } - }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-headers": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", - "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==" - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==" - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "requires": { - "pify": "^3.0.0" - } - }, - "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "optional": true - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "^2.0.0" - } - }, - "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "requires": { - "node-modules-regexp": "^1.0.0" - } - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "requires": { - "find-up": "^3.0.0" - } - }, - "pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", - "requires": { - "find-up": "^2.1.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" - } - } - }, - "pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" - }, - "pnp-webpack-plugin": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.5.0.tgz", - "integrity": "sha512-jd9olUr9D7do+RN8Wspzhpxhgp1n6Vd0NtQ4SFkmIACZoEL1nkyAdW9Ygrinjec0vgDcWjscFQQ1gDW8rsfKTg==", - "requires": { - "ts-pnp": "^1.1.2" - } - }, - "portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" - }, - "postcss": { - "version": "7.0.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", - "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-attribute-case-insensitive": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", - "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^6.0.2" - } - }, - "postcss-browser-comments": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-2.0.0.tgz", - "integrity": "sha512-xGG0UvoxwBc4Yx4JX3gc0RuDl1kc4bVihCzzk6UC72YPfq5fu3c717Nu8Un3nvnq1BJ31gBnFXIG/OaUTnpHgA==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-calc": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.3.tgz", - "integrity": "sha512-IB/EAEmZhIMEIhG7Ov4x+l47UaXOS1n2f4FBUk/aKllQhtSCxWhTzn0nJgkqN7fo/jcWySvWTSB6Syk9L+31bA==", - "requires": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - }, - "dependencies": { - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" - } - } - }, - "postcss-color-functional-notation": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", - "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-color-gray": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", - "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-color-hex-alpha": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", - "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", - "requires": { - "postcss": "^7.0.14", - "postcss-values-parser": "^2.0.1" - } - }, - "postcss-color-mod-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", - "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-color-rebeccapurple": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", - "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", - "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", - "requires": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", - "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-custom-media": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", - "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", - "requires": { - "postcss": "^7.0.14" - } - }, - "postcss-custom-properties": { - "version": "8.0.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", - "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", - "requires": { - "postcss": "^7.0.17", - "postcss-values-parser": "^2.0.1" - } - }, - "postcss-custom-selectors": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", - "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-dir-pseudo-class": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", - "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-double-position-gradients": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", - "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", - "requires": { - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-env-function": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", - "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-flexbugs-fixes": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.1.0.tgz", - "integrity": "sha512-jr1LHxQvStNNAHlgco6PzY308zvLklh7SJVYuWUwyUQncofaAlD2l+P/gxKHOdqWKe7xJSkVLFF/2Tp+JqMSZA==", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-focus-visible": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", - "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-focus-within": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", - "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-font-variant": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz", - "integrity": "sha512-M8BFYKOvCrI2aITzDad7kWuXXTm0YhGdP9Q8HanmN4EF1Hmcgs1KK5rSHylt/lUJe8yLxiSwWAHdScoEiIxztg==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-gap-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", - "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-image-set-function": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", - "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-initial": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.2.tgz", - "integrity": "sha512-ugA2wKonC0xeNHgirR4D3VWHs2JcU08WAi1KFLVcnb7IN89phID6Qtg2RIctWbnvp1TM2BOmDtX8GGLCKdR8YA==", - "requires": { - "lodash.template": "^4.5.0", - "postcss": "^7.0.2" - } - }, - "postcss-lab-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", - "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-load-config": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", - "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", - "requires": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" - } - }, - "postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", - "requires": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" - } - }, - "postcss-logical": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", - "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-media-minmax": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", - "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", - "requires": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - } - }, - "postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", - "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", - "requires": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - } - }, - "postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", - "requires": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", - "requires": { - "postcss": "^7.0.5" - } - }, - "postcss-modules-local-by-default": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz", - "integrity": "sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==", - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0", - "postcss-value-parser": "^3.3.1" - } - }, - "postcss-modules-scope": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", - "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" - } - }, - "postcss-modules-values": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz", - "integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==", - "requires": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^7.0.6" - } - }, - "postcss-nesting": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", - "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-normalize": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-7.0.1.tgz", - "integrity": "sha512-NOp1fwrG+6kVXWo7P9SizCHX6QvioxFD/hZcI2MLxPmVnFJFC0j0DDpIuNw2tUDeCFMni59gCVgeJ1/hYhj2OQ==", - "requires": { - "@csstools/normalize.css": "^9.0.1", - "browserslist": "^4.1.1", - "postcss": "^7.0.2", - "postcss-browser-comments": "^2.0.0" - } - }, - "postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", - "requires": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==" - } - } - }, - "postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-overflow-shorthand": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", - "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-page-break": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", - "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-place": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", - "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-preset-env": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", - "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", - "requires": { - "autoprefixer": "^9.6.1", - "browserslist": "^4.6.4", - "caniuse-lite": "^1.0.30000981", - "css-blank-pseudo": "^0.1.4", - "css-has-pseudo": "^0.10.0", - "css-prefers-color-scheme": "^3.1.1", - "cssdb": "^4.4.0", - "postcss": "^7.0.17", - "postcss-attribute-case-insensitive": "^4.0.1", - "postcss-color-functional-notation": "^2.0.1", - "postcss-color-gray": "^5.0.0", - "postcss-color-hex-alpha": "^5.0.3", - "postcss-color-mod-function": "^3.0.3", - "postcss-color-rebeccapurple": "^4.0.1", - "postcss-custom-media": "^7.0.8", - "postcss-custom-properties": "^8.0.11", - "postcss-custom-selectors": "^5.1.2", - "postcss-dir-pseudo-class": "^5.0.0", - "postcss-double-position-gradients": "^1.0.0", - "postcss-env-function": "^2.0.2", - "postcss-focus-visible": "^4.0.0", - "postcss-focus-within": "^3.0.0", - "postcss-font-variant": "^4.0.0", - "postcss-gap-properties": "^2.0.0", - "postcss-image-set-function": "^3.0.1", - "postcss-initial": "^3.0.0", - "postcss-lab-function": "^2.0.1", - "postcss-logical": "^3.0.0", - "postcss-media-minmax": "^4.0.0", - "postcss-nesting": "^7.0.0", - "postcss-overflow-shorthand": "^2.0.0", - "postcss-page-break": "^2.0.0", - "postcss-place": "^4.0.1", - "postcss-pseudo-class-any-link": "^6.0.0", - "postcss-replace-overflow-wrap": "^3.0.0", - "postcss-selector-matches": "^4.0.0", - "postcss-selector-not": "^4.0.0" - } - }, - "postcss-pseudo-class-any-link": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", - "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", - "requires": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-replace-overflow-wrap": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", - "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-safe-parser": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz", - "integrity": "sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ==", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-selector-matches": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", - "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", - "requires": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" - } - }, - "postcss-selector-not": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz", - "integrity": "sha512-W+bkBZRhqJaYN8XAnbbZPLWMvZD1wKTu0UxtFKdhtGjWYmxhkUneoeOhRJKdAE5V7ZTlnbHfCR+6bNwK9e1dTQ==", - "requires": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" - } - }, - "postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", - "requires": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", - "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", - "requires": { - "is-svg": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - } - }, - "postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", - "requires": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" - } - }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "postcss-values-parser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", - "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", - "requires": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" - }, - "pretty-bytes": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.4.0.tgz", - "integrity": "sha512-ctjMzsPQfGSyThWQ9//I6egmiEL/F0VgHKW4atxRd1V8+CPm0J/hihZJp0nb0GDRLUpICyCZTG1f/lE/42f/VQ==" - }, - "pretty-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", - "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", - "requires": { - "renderkid": "^2.0.1", - "utila": "~0.4" - } - }, - "pretty-format": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", - "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", - "requires": { - "@jest/types": "^24.9.0", - "ansi-regex": "^4.0.0", - "ansi-styles": "^3.2.0", - "react-is": "^16.8.4" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - } - } - }, - "process": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" - }, - "promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", - "requires": { - "asap": "~2.0.6" - } - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" - }, - "prompts": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz", - "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==", - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.4" - } - }, - "prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - }, - "query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "requires": { - "performance-now": "^2.1.0" - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "react": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", - "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" - } - }, - "react-app-polyfill": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-1.0.6.tgz", - "integrity": "sha512-OfBnObtnGgLGfweORmdZbyEz+3dgVePQBb3zipiaDsMHV1NpWm0rDFYIVXFV/AK+x4VIIfWHhrdMIeoTLyRr2g==", - "requires": { - "core-js": "^3.5.0", - "object-assign": "^4.1.1", - "promise": "^8.0.3", - "raf": "^3.4.1", - "regenerator-runtime": "^0.13.3", - "whatwg-fetch": "^3.0.0" - } - }, - "react-dev-utils": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-9.1.0.tgz", - "integrity": "sha512-X2KYF/lIGyGwP/F/oXgGDF24nxDA2KC4b7AFto+eqzc/t838gpSGiaU8trTqHXOohuLxxc5qi1eDzsl9ucPDpg==", - "requires": { - "@babel/code-frame": "7.5.5", - "address": "1.1.2", - "browserslist": "4.7.0", - "chalk": "2.4.2", - "cross-spawn": "6.0.5", - "detect-port-alt": "1.1.6", - "escape-string-regexp": "1.0.5", - "filesize": "3.6.1", - "find-up": "3.0.0", - "fork-ts-checker-webpack-plugin": "1.5.0", - "global-modules": "2.0.0", - "globby": "8.0.2", - "gzip-size": "5.1.1", - "immer": "1.10.0", - "inquirer": "6.5.0", - "is-root": "2.1.0", - "loader-utils": "1.2.3", - "open": "^6.3.0", - "pkg-up": "2.0.0", - "react-error-overlay": "^6.0.3", - "recursive-readdir": "2.2.2", - "shell-quote": "1.7.2", - "sockjs-client": "1.4.0", - "strip-ansi": "5.2.0", - "text-table": "0.2.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", - "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", - "requires": { - "@babel/highlight": "^7.0.0" - } - }, - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "browserslist": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz", - "integrity": "sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==", - "requires": { - "caniuse-lite": "^1.0.30000989", - "electron-to-chromium": "^1.3.247", - "node-releases": "^1.1.29" - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "inquirer": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.0.tgz", - "integrity": "sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA==", - "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - } - } - }, - "react-dom": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz", - "integrity": "sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" - } - }, - "react-error-overlay": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.7.tgz", - "integrity": "sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA==" - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "react-scripts": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-3.2.0.tgz", - "integrity": "sha512-6LzuKbE2B4eFQG6i1FnTScn9HDcWBfXXnOwW9xKFPJ/E3rK8i1ufbOZ0ocKyRPxJAKdN7iqg3i7lt0+oxkSVOA==", - "requires": { - "@babel/core": "7.6.0", - "@svgr/webpack": "4.3.2", - "@typescript-eslint/eslint-plugin": "^2.2.0", - "@typescript-eslint/parser": "^2.2.0", - "babel-eslint": "10.0.3", - "babel-jest": "^24.9.0", - "babel-loader": "8.0.6", - "babel-plugin-named-asset-import": "^0.3.4", - "babel-preset-react-app": "^9.0.2", - "camelcase": "^5.2.0", - "case-sensitive-paths-webpack-plugin": "2.2.0", - "css-loader": "2.1.1", - "dotenv": "6.2.0", - "dotenv-expand": "5.1.0", - "eslint": "^6.1.0", - "eslint-config-react-app": "^5.0.2", - "eslint-loader": "3.0.2", - "eslint-plugin-flowtype": "3.13.0", - "eslint-plugin-import": "2.18.2", - "eslint-plugin-jsx-a11y": "6.2.3", - "eslint-plugin-react": "7.14.3", - "eslint-plugin-react-hooks": "^1.6.1", - "file-loader": "3.0.1", - "fs-extra": "7.0.1", - "fsevents": "2.0.7", - "html-webpack-plugin": "4.0.0-beta.5", - "identity-obj-proxy": "3.0.0", - "is-wsl": "^1.1.0", - "jest": "24.9.0", - "jest-environment-jsdom-fourteen": "0.1.0", - "jest-resolve": "24.9.0", - "jest-watch-typeahead": "0.4.0", - "mini-css-extract-plugin": "0.8.0", - "optimize-css-assets-webpack-plugin": "5.0.3", - "pnp-webpack-plugin": "1.5.0", - "postcss-flexbugs-fixes": "4.1.0", - "postcss-loader": "3.0.0", - "postcss-normalize": "7.0.1", - "postcss-preset-env": "6.7.0", - "postcss-safe-parser": "4.0.1", - "react-app-polyfill": "^1.0.4", - "react-dev-utils": "^9.1.0", - "resolve": "1.12.0", - "resolve-url-loader": "3.1.0", - "sass-loader": "7.2.0", - "semver": "6.3.0", - "style-loader": "1.0.0", - "terser-webpack-plugin": "1.4.1", - "ts-pnp": "1.1.4", - "url-loader": "2.1.0", - "webpack": "4.41.0", - "webpack-dev-server": "3.2.1", - "webpack-manifest-plugin": "2.1.1", - "workbox-webpack-plugin": "4.3.1" - }, - "dependencies": { - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } - } - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "requires": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "realpath-native": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", - "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", - "requires": { - "util.promisify": "^1.0.0" - } - }, - "recursive-readdir": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", - "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", - "requires": { - "minimatch": "3.0.4" - } - }, - "redux": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.5.tgz", - "integrity": "sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==", - "requires": { - "loose-envify": "^1.4.0", - "symbol-observable": "^1.2.0" - } - }, - "redux-saga": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-0.16.2.tgz", - "integrity": "sha512-iIjKnRThI5sKPEASpUvySemjzwqwI13e3qP7oLub+FycCRDysLSAOwt958niZW6LhxfmS6Qm1BzbU70w/Koc4w==" - }, - "regenerate": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", - "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==" - }, - "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "requires": { - "regenerate": "^1.4.0" - } - }, - "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" - }, - "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regex-parser": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.10.tgz", - "integrity": "sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA==" - }, - "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, - "regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==" - }, - "regexpu-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", - "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } - }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" - }, - "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "renderkid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", - "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", - "requires": { - "css-select": "^1.1.0", - "dom-converter": "^0.2", - "htmlparser2": "^3.3.0", - "strip-ansi": "^3.0.0", - "utila": "^0.4.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" - } - } - }, - "request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "requires": { - "lodash": "^4.17.19" - } - }, - "request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "requires": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" - }, - "resolve": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", - "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "requires": { - "resolve-from": "^3.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "resolve-url-loader": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.0.tgz", - "integrity": "sha512-2QcrA+2QgVqsMJ1Hn5NnJXIGCX1clQ1F6QJTqOeiaDw9ACo1G2k+8/shq3mtqne03HOFyskAClqfxKyFBriXZg==", - "requires": { - "adjust-sourcemap-loader": "2.0.0", - "camelcase": "5.0.0", - "compose-function": "3.0.3", - "convert-source-map": "1.6.0", - "es6-iterator": "2.0.3", - "loader-utils": "1.2.3", - "postcss": "7.0.14", - "rework": "1.0.1", - "rework-visit": "1.0.0", - "source-map": "0.6.1" - }, - "dependencies": { - "camelcase": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", - "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==" - }, - "convert-source-map": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", - "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - } - }, - "postcss": { - "version": "7.0.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz", - "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==", - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, - "rework": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", - "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", - "requires": { - "convert-source-map": "^0.3.3", - "css": "^2.0.0" - }, - "dependencies": { - "convert-source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", - "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=" - } - } - }, - "rework-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", - "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=" - }, - "rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" - }, - "rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rlp": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", - "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", - "requires": { - "bn.js": "^4.11.1" - } - }, - "rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==" - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "requires": { - "aproba": "^1.1.1" - } - }, - "rxjs": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.2.tgz", - "integrity": "sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==", - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "requires": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - } - }, - "sass-loader": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.2.0.tgz", - "integrity": "sha512-h8yUWaWtsbuIiOCgR9fd9c2lRXZ2uG+h8Dzg/AGNj+Hg/3TO8+BBAW9mEP+mh8ei+qBKqSJ0F1FLlYjNBc61OA==", - "requires": { - "clone-deep": "^4.0.1", - "loader-utils": "^1.0.1", - "neo-async": "^2.5.0", - "pify": "^4.0.1", - "semver": "^5.5.0" - }, - "dependencies": { - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "requires": { - "kind-of": "^6.0.2" - } - } - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "saxes": { - "version": "3.1.11", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", - "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", - "requires": { - "xmlchars": "^2.1.1" - } - }, - "scheduler": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", - "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "secp256k1": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.2.tgz", - "integrity": "sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==", - "requires": { - "elliptic": "^6.5.2", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "dependencies": { - "node-gyp-build": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", - "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==" - } - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" - }, - "selfsigned": { - "version": "1.10.7", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", - "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", - "requires": { - "node-forge": "0.9.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - } - } - }, - "serialize-javascript": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", - "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==" - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - } - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "servify": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", - "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", - "requires": { - "body-parser": "^1.16.0", - "cors": "^2.8.1", - "express": "^4.14.0", - "request": "^2.79.0", - "xhr": "^2.3.3" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shallow-clone": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", - "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", - "requires": { - "is-extendable": "^0.1.1", - "kind-of": "^2.0.1", - "lazy-cache": "^0.2.3", - "mixin-object": "^2.0.1" - }, - "dependencies": { - "kind-of": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", - "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", - "requires": { - "is-buffer": "^1.0.2" - } - }, - "lazy-cache": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", - "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=" - } - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - }, - "shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" - }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==" - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" - }, - "simple-get": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", - "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", - "requires": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "requires": { - "is-arrayish": "^0.3.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - } - } - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - } - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "requires": { - "kind-of": "^3.2.0" - } - }, - "sockjs": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", - "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", - "requires": { - "faye-websocket": "^0.10.0", - "uuid": "^3.0.1" - }, - "dependencies": { - "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", - "requires": { - "websocket-driver": ">=0.5.1" - } - } - } - }, - "sockjs-client": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", - "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", - "requires": { - "debug": "^3.2.5", - "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "requires": { - "is-plain-obj": "^1.0.0" - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==" - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "stack-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", - "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==" - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" - }, - "string-length": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", - "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", - "requires": { - "astral-regex": "^1.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "dependencies": { - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" - } - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - } - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" - }, - "strip-comments": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz", - "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==", - "requires": { - "babel-extract-comments": "^1.0.0", - "babel-plugin-transform-object-rest-spread": "^6.26.0" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" - }, - "strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", - "requires": { - "is-hex-prefixed": "1.0.0" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - }, - "style-loader": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.0.0.tgz", - "integrity": "sha512-B0dOCFwv7/eY31a5PCieNwMgMhVGFe9w+rh7s/Bx8kfFkrth9zfTZquoYvdw8URgiqxObQKcpW51Ugz1HjfdZw==", - "requires": { - "loader-utils": "^1.2.3", - "schema-utils": "^2.0.1" - }, - "dependencies": { - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - } - } - }, - "stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", - "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - } - } - }, - "swarm-js": { - "version": "0.1.40", - "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.40.tgz", - "integrity": "sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA==", - "requires": { - "bluebird": "^3.5.0", - "buffer": "^5.0.5", - "eth-lib": "^0.1.26", - "fs-extra": "^4.0.2", - "got": "^7.1.0", - "mime-types": "^2.1.16", - "mkdirp-promise": "^5.0.1", - "mock-fs": "^4.1.0", - "setimmediate": "^1.0.5", - "tar": "^4.0.2", - "xhr-request": "^1.0.1" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" - }, - "got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "requires": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - } - }, - "p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "requires": { - "prepend-http": "^1.0.1" - } - } - } - }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" - }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" - }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - } - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - }, - "tar": { - "version": "4.4.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - } - } - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "terser-webpack-plugin": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz", - "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==", - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^1.7.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "test-exclude": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", - "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", - "requires": { - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^2.0.0" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" - }, - "throat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", - "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=" - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" - }, - "timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", - "requires": { - "setimmediate": "^1.0.4" - } - }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=" - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "requires": { - "kind-of": "^3.0.2" - } - }, - "to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "requires": { - "punycode": "^2.1.0" - } - }, - "ts-pnp": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.1.4.tgz", - "integrity": "sha512-1J/vefLC+BWSo+qe8OnJQfWTYRS6ingxjwqmHMqaMxXMj7kFtKLgAaYW3JeX3mktjgUL+etlU8/B4VUAUI9QGw==" - }, - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" - }, - "tsutils": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", - "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", - "requires": { - "tslib": "^1.8.1" - } - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - }, - "type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "uglify-js": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", - "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", - "requires": { - "commander": "~2.19.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" - }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" - }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" - }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==" - }, - "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==" - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - } - } - }, - "url-loader": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.1.0.tgz", - "integrity": "sha512-kVrp/8VfEm5fUt+fl2E0FQyrpmOYgMEkBsv8+UDP1wFhszECq5JyGF33I7cajlVY90zRZ6MyfgKXngLvHYZX8A==", - "requires": { - "loader-utils": "^1.2.3", - "mime": "^2.4.4", - "schema-utils": "^2.0.0" - }, - "dependencies": { - "mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==" - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - } - } - }, - "url-parse": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", - "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "requires": { - "prepend-http": "^2.0.0" - } - }, - "url-set-query": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", - "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=" - }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - }, - "utf-8-validate": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.2.tgz", - "integrity": "sha512-SwV++i2gTD5qh2XqaPzBnNX88N6HdyhQrNNRykvcS0QKvItV9u3vPEJr+X5Hhfb1JC0r0e1alL0iB09rY8+nmw==", - "requires": { - "node-gyp-build": "~3.7.0" - } - }, - "utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "requires": { - "inherits": "2.0.1" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "v8-compile-cache": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", - "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==" - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "varint": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", - "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" - }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, - "w3c-xmlserializer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", - "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", - "requires": { - "domexception": "^1.0.1", - "webidl-conversions": "^4.0.2", - "xml-name-validator": "^3.0.0" - } - }, - "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "requires": { - "makeerror": "1.0.x" - } - }, - "watchpack": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz", - "integrity": "sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==", - "requires": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.0" - }, - "dependencies": { - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "optional": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "optional": true - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "optional": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "chokidar": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz", - "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==", - "optional": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "optional": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "optional": true - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "optional": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "optional": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "optional": true - }, - "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", - "optional": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "optional": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "watchpack-chokidar2": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", - "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", - "optional": true, - "requires": { - "chokidar": "^2.1.8" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "web3": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.2.11.tgz", - "integrity": "sha512-mjQ8HeU41G6hgOYm1pmeH0mRAeNKJGnJEUzDMoerkpw7QUQT4exVREgF1MYPvL/z6vAshOXei25LE/t/Bxl8yQ==", - "requires": { - "web3-bzz": "1.2.11", - "web3-core": "1.2.11", - "web3-eth": "1.2.11", - "web3-eth-personal": "1.2.11", - "web3-net": "1.2.11", - "web3-shh": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-bzz": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.2.11.tgz", - "integrity": "sha512-XGpWUEElGypBjeFyUhTkiPXFbDVD6Nr/S5jznE3t8cWUA0FxRf1n3n/NuIZeb0H9RkN2Ctd/jNma/k8XGa3YKg==", - "requires": { - "@types/node": "^12.12.6", - "got": "9.6.0", - "swarm-js": "^0.1.40", - "underscore": "1.9.1" - } - }, - "web3-core": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.2.11.tgz", - "integrity": "sha512-CN7MEYOY5ryo5iVleIWRE3a3cZqVaLlIbIzDPsvQRUfzYnvzZQRZBm9Mq+ttDi2STOOzc1MKylspz/o3yq/LjQ==", - "requires": { - "@types/bn.js": "^4.11.5", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-core-requestmanager": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-core-helpers": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.2.11.tgz", - "integrity": "sha512-PEPoAoZd5ME7UfbnCZBdzIerpe74GEvlwT4AjOmHeCVZoIFk7EqvOZDejJHt+feJA6kMVTdd0xzRNN295UhC1A==", - "requires": { - "underscore": "1.9.1", - "web3-eth-iban": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-core-method": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.2.11.tgz", - "integrity": "sha512-ff0q76Cde94HAxLDZ6DbdmKniYCQVtvuaYh+rtOUMB6kssa5FX0q3vPmixi7NPooFnbKmmZCM6NvXg4IreTPIw==", - "requires": { - "@ethersproject/transactions": "^5.0.0-beta.135", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11", - "web3-core-promievent": "1.2.11", - "web3-core-subscriptions": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-core-promievent": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.2.11.tgz", - "integrity": "sha512-il4McoDa/Ox9Agh4kyfQ8Ak/9ABYpnF8poBLL33R/EnxLsJOGQG2nZhkJa3I067hocrPSjEdlPt/0bHXsln4qA==", - "requires": { - "eventemitter3": "4.0.4" - } - }, - "web3-core-requestmanager": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.2.11.tgz", - "integrity": "sha512-oFhBtLfOiIbmfl6T6gYjjj9igOvtyxJ+fjS+byRxiwFJyJ5BQOz4/9/17gWR1Cq74paTlI7vDGxYfuvfE/mKvA==", - "requires": { - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11", - "web3-providers-http": "1.2.11", - "web3-providers-ipc": "1.2.11", - "web3-providers-ws": "1.2.11" - } - }, - "web3-core-subscriptions": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.2.11.tgz", - "integrity": "sha512-qEF/OVqkCvQ7MPs1JylIZCZkin0aKK9lDxpAtQ1F8niEDGFqn7DT8E/vzbIa0GsOjL2fZjDhWJsaW+BSoAW1gg==", - "requires": { - "eventemitter3": "4.0.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11" - } - }, - "web3-eth": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.2.11.tgz", - "integrity": "sha512-REvxW1wJ58AgHPcXPJOL49d1K/dPmuw4LjPLBPStOVkQjzDTVmJEIsiLwn2YeuNDd4pfakBwT8L3bz1G1/wVsQ==", - "requires": { - "underscore": "1.9.1", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-core-subscriptions": "1.2.11", - "web3-eth-abi": "1.2.11", - "web3-eth-accounts": "1.2.11", - "web3-eth-contract": "1.2.11", - "web3-eth-ens": "1.2.11", - "web3-eth-iban": "1.2.11", - "web3-eth-personal": "1.2.11", - "web3-net": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-eth-abi": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.2.11.tgz", - "integrity": "sha512-PkRYc0+MjuLSgg03QVWqWlQivJqRwKItKtEpRUaxUAeLE7i/uU39gmzm2keHGcQXo3POXAbOnMqkDvOep89Crg==", - "requires": { - "@ethersproject/abi": "5.0.0-beta.153", - "underscore": "1.9.1", - "web3-utils": "1.2.11" - } - }, - "web3-eth-accounts": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.2.11.tgz", - "integrity": "sha512-6FwPqEpCfKIh3nSSGeo3uBm2iFSnFJDfwL3oS9pyegRBXNsGRVpgiW63yhNzL0796StsvjHWwQnQHsZNxWAkGw==", - "requires": { - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.8", - "ethereumjs-common": "^1.3.2", - "ethereumjs-tx": "^2.1.1", - "scrypt-js": "^3.0.1", - "underscore": "1.9.1", - "uuid": "3.3.2", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-utils": "1.2.11" - }, - "dependencies": { - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" - } - } - }, - "web3-eth-contract": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.2.11.tgz", - "integrity": "sha512-MzYuI/Rq2o6gn7vCGcnQgco63isPNK5lMAan2E51AJLknjSLnOxwNY3gM8BcKoy4Z+v5Dv00a03Xuk78JowFow==", - "requires": { - "@types/bn.js": "^4.11.5", - "underscore": "1.9.1", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-core-promievent": "1.2.11", - "web3-core-subscriptions": "1.2.11", - "web3-eth-abi": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-eth-ens": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.2.11.tgz", - "integrity": "sha512-dbW7dXP6HqT1EAPvnniZVnmw6TmQEKF6/1KgAxbo8iBBYrVTMDGFQUUnZ+C4VETGrwwaqtX4L9d/FrQhZ6SUiA==", - "requires": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "underscore": "1.9.1", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-promievent": "1.2.11", - "web3-eth-abi": "1.2.11", - "web3-eth-contract": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-eth-iban": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.2.11.tgz", - "integrity": "sha512-ozuVlZ5jwFC2hJY4+fH9pIcuH1xP0HEFhtWsR69u9uDIANHLPQQtWYmdj7xQ3p2YT4bQLq/axKhZi7EZVetmxQ==", - "requires": { - "bn.js": "^4.11.9", - "web3-utils": "1.2.11" - } - }, - "web3-eth-personal": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.2.11.tgz", - "integrity": "sha512-42IzUtKq9iHZ8K9VN0vAI50iSU9tOA1V7XU2BhF/tb7We2iKBVdkley2fg26TxlOcKNEHm7o6HRtiiFsVK4Ifw==", - "requires": { - "@types/node": "^12.12.6", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-net": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-net": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.2.11.tgz", - "integrity": "sha512-sjrSDj0pTfZouR5BSTItCuZ5K/oZPVdVciPQ6981PPPIwJJkCMeVjD7I4zO3qDPCnBjBSbWvVnLdwqUBPtHxyg==", - "requires": { - "web3-core": "1.2.11", - "web3-core-method": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-providers-http": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.2.11.tgz", - "integrity": "sha512-psh4hYGb1+ijWywfwpB2cvvOIMISlR44F/rJtYkRmQ5jMvG4FOCPlQJPiHQZo+2cc3HbktvvSJzIhkWQJdmvrA==", - "requires": { - "web3-core-helpers": "1.2.11", - "xhr2-cookies": "1.1.0" - } - }, - "web3-providers-ipc": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.2.11.tgz", - "integrity": "sha512-yhc7Y/k8hBV/KlELxynWjJDzmgDEDjIjBzXK+e0rHBsYEhdCNdIH5Psa456c+l0qTEU2YzycF8VAjYpWfPnBpQ==", - "requires": { - "oboe": "2.1.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11" - } - }, - "web3-providers-ws": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.2.11.tgz", - "integrity": "sha512-ZxnjIY1Er8Ty+cE4migzr43zA/+72AF1myzsLaU5eVgdsfV7Jqx7Dix1hbevNZDKFlSoEyq/3j/jYalh3So1Zg==", - "requires": { - "eventemitter3": "4.0.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11", - "websocket": "^1.0.31" - } - }, - "web3-shh": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.2.11.tgz", - "integrity": "sha512-B3OrO3oG1L+bv3E1sTwCx66injW1A8hhwpknDUbV+sw3fehFazA06z9SGXUefuFI1kVs4q2vRi0n4oCcI4dZDg==", - "requires": { - "web3-core": "1.2.11", - "web3-core-method": "1.2.11", - "web3-core-subscriptions": "1.2.11", - "web3-net": "1.2.11" - } - }, - "web3-utils": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.2.11.tgz", - "integrity": "sha512-3Tq09izhD+ThqHEaWYX4VOT7dNPdZiO+c/1QMA0s5X2lDFKK/xHJb7cyTRRVzN2LvlHbR7baS1tmQhSua51TcQ==", - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.9.1", - "utf8": "3.0.0" - }, - "dependencies": { - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - } - } - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - }, - "webpack": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.0.tgz", - "integrity": "sha512-yNV98U4r7wX1VJAj5kyMsu36T8RPPQntcb5fJLOsMz/pt/WrKC0Vp1bAlqPLkA1LegSwQwf6P+kAbyhRKVQ72g==", - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/wasm-edit": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "acorn": "^6.2.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.1", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.1", - "watchpack": "^1.6.0", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==" - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - } - } - }, - "webpack-dev-middleware": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", - "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", - "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==" - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - } - } - }, - "webpack-dev-server": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.2.1.tgz", - "integrity": "sha512-sjuE4mnmx6JOh9kvSbPYw3u/6uxCLHNWfhWaIPwcXWsvWOPN+nc5baq4i9jui3oOBRXGonK9+OI0jVkaz6/rCw==", - "requires": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.0.0", - "compression": "^1.5.2", - "connect-history-api-fallback": "^1.3.0", - "debug": "^4.1.1", - "del": "^3.0.0", - "express": "^4.16.2", - "html-entities": "^1.2.0", - "http-proxy-middleware": "^0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.2.0", - "ip": "^1.1.5", - "killable": "^1.0.0", - "loglevel": "^1.4.1", - "opn": "^5.1.0", - "portfinder": "^1.0.9", - "schema-utils": "^1.0.0", - "selfsigned": "^1.9.1", - "semver": "^5.6.0", - "serve-index": "^1.7.2", - "sockjs": "0.3.19", - "sockjs-client": "1.3.0", - "spdy": "^4.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.5.1", - "webpack-log": "^2.0.0", - "yargs": "12.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "decamelize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", - "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", - "requires": { - "xregexp": "4.0.0" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "sockjs-client": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz", - "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==", - "requires": { - "debug": "^3.2.5", - "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "yargs": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz", - "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==", - "requires": { - "cliui": "^4.0.0", - "decamelize": "^2.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^10.1.0" - } - }, - "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", - "requires": { - "camelcase": "^4.1.0" - } - } - } - }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - } - }, - "webpack-manifest-plugin": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-2.1.1.tgz", - "integrity": "sha512-2zqJ6mvc3yoiqfDjghAIpljhLSDh/G7vqGrzYcYqqRCd/ZZZCAuc/YPE5xG0LGpLgDJRhUNV1H+znyyhIxahzA==", - "requires": { - "fs-extra": "^7.0.0", - "lodash": ">=3.5 <5", - "object.entries": "^1.1.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "websocket": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.32.tgz", - "integrity": "sha512-i4yhcllSP4wrpoPMU2N0TQ/q0O94LRG/eUQjEAamRltjQ1oT1PFFKOG4i877OlJgCG8rw6LrrowJp+TYCEWF7Q==", - "requires": { - "bufferutil": "^4.0.1", - "debug": "^2.2.0", - "es5-ext": "^0.10.50", - "typedarray-to-buffer": "^3.1.5", - "utf-8-validate": "^5.0.2", - "yaeti": "^0.0.6" - } - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "requires": { - "iconv-lite": "0.4.24" - } - }, - "whatwg-fetch": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.4.0.tgz", - "integrity": "sha512-rsum2ulz2iuZH08mJkT0Yi6JnKhwdw4oeyMjokgxd+mmqYSd9cPpOQf01TIWgjxG/U4+QR+AwKq6lSbXVxkyoQ==" - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - }, - "whatwg-url": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", - "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" - }, - "workbox-background-sync": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz", - "integrity": "sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg==", - "requires": { - "workbox-core": "^4.3.1" - } - }, - "workbox-broadcast-update": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz", - "integrity": "sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA==", - "requires": { - "workbox-core": "^4.3.1" - } - }, - "workbox-build": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-4.3.1.tgz", - "integrity": "sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw==", - "requires": { - "@babel/runtime": "^7.3.4", - "@hapi/joi": "^15.0.0", - "common-tags": "^1.8.0", - "fs-extra": "^4.0.2", - "glob": "^7.1.3", - "lodash.template": "^4.4.0", - "pretty-bytes": "^5.1.0", - "stringify-object": "^3.3.0", - "strip-comments": "^1.0.2", - "workbox-background-sync": "^4.3.1", - "workbox-broadcast-update": "^4.3.1", - "workbox-cacheable-response": "^4.3.1", - "workbox-core": "^4.3.1", - "workbox-expiration": "^4.3.1", - "workbox-google-analytics": "^4.3.1", - "workbox-navigation-preload": "^4.3.1", - "workbox-precaching": "^4.3.1", - "workbox-range-requests": "^4.3.1", - "workbox-routing": "^4.3.1", - "workbox-strategies": "^4.3.1", - "workbox-streams": "^4.3.1", - "workbox-sw": "^4.3.1", - "workbox-window": "^4.3.1" - } - }, - "workbox-cacheable-response": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz", - "integrity": "sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw==", - "requires": { - "workbox-core": "^4.3.1" - } - }, - "workbox-core": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-4.3.1.tgz", - "integrity": "sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg==" - }, - "workbox-expiration": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-4.3.1.tgz", - "integrity": "sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw==", - "requires": { - "workbox-core": "^4.3.1" - } - }, - "workbox-google-analytics": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz", - "integrity": "sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg==", - "requires": { - "workbox-background-sync": "^4.3.1", - "workbox-core": "^4.3.1", - "workbox-routing": "^4.3.1", - "workbox-strategies": "^4.3.1" - } - }, - "workbox-navigation-preload": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz", - "integrity": "sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw==", - "requires": { - "workbox-core": "^4.3.1" - } - }, - "workbox-precaching": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-4.3.1.tgz", - "integrity": "sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ==", - "requires": { - "workbox-core": "^4.3.1" - } - }, - "workbox-range-requests": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz", - "integrity": "sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA==", - "requires": { - "workbox-core": "^4.3.1" - } - }, - "workbox-routing": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-4.3.1.tgz", - "integrity": "sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g==", - "requires": { - "workbox-core": "^4.3.1" - } - }, - "workbox-strategies": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-4.3.1.tgz", - "integrity": "sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw==", - "requires": { - "workbox-core": "^4.3.1" - } - }, - "workbox-streams": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-4.3.1.tgz", - "integrity": "sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA==", - "requires": { - "workbox-core": "^4.3.1" - } - }, - "workbox-sw": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-4.3.1.tgz", - "integrity": "sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w==" - }, - "workbox-webpack-plugin": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz", - "integrity": "sha512-gJ9jd8Mb8wHLbRz9ZvGN57IAmknOipD3W4XNE/Lk/4lqs5Htw4WOQgakQy/o/4CoXQlMCYldaqUg+EJ35l9MEQ==", - "requires": { - "@babel/runtime": "^7.0.0", - "json-stable-stringify": "^1.0.1", - "workbox-build": "^4.3.1" - } - }, - "workbox-window": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-4.3.1.tgz", - "integrity": "sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg==", - "requires": { - "workbox-core": "^4.3.1" - } - }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "requires": { - "errno": "~0.1.7" - } - }, - "worker-rpc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", - "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", - "requires": { - "microevent.ts": "~0.1.1" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "requires": { - "mkdirp": "^0.5.1" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - } - } - }, - "write-file-atomic": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", - "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - }, - "xhr": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", - "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==", - "requires": { - "global": "~4.3.0", - "is-function": "^1.0.1", - "parse-headers": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "xhr-request": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", - "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", - "requires": { - "buffer-to-arraybuffer": "^0.0.5", - "object-assign": "^4.1.1", - "query-string": "^5.0.1", - "simple-get": "^2.7.0", - "timed-out": "^4.0.1", - "url-set-query": "^1.0.0", - "xhr": "^2.0.4" - } - }, - "xhr-request-promise": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz", - "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==", - "requires": { - "xhr-request": "^1.1.0" - } - }, - "xhr2-cookies": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", - "integrity": "sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=", - "requires": { - "cookiejar": "^2.1.1" - } - }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "xregexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", - "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==" - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" - }, - "yaeti": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", - "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "yaml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==" - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - } - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } -} diff --git a/app_/package.json b/app_/package.json deleted file mode 100644 index 4e753e2..0000000 --- a/app_/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "app", - "version": "0.1.0", - "private": true, - "dependencies": { - "@drizzle/react-components": "^1.5.1", - "@drizzle/react-plugin": "^1.5.1", - "@drizzle/store": "^1.5.1", - "react": "^16.11.0", - "react-dom": "^16.11.0", - "react-scripts": "3.2.0" - }, - "scripts": { - "start": "react-scripts start", - "build": "react-scripts build", - "test": "react-scripts test", - "eject": "react-scripts eject" - }, - "eslintConfig": { - "extends": "react-app" - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - } -} diff --git a/app_/public/favicon.ico b/app_/public/favicon.ico deleted file mode 100644 index c2c86b8..0000000 Binary files a/app_/public/favicon.ico and /dev/null differ diff --git a/app_/public/index.html b/app_/public/index.html deleted file mode 100644 index c240d2c..0000000 --- a/app_/public/index.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - React App - - - -
- - - diff --git a/app_/public/robots.txt b/app_/public/robots.txt deleted file mode 100644 index 01b0f9a..0000000 --- a/app_/public/robots.txt +++ /dev/null @@ -1,2 +0,0 @@ -# https://www.robotstxt.org/robotstxt.html -User-agent: * diff --git a/app_/src/App.css b/app_/src/App.css deleted file mode 100644 index a223861..0000000 --- a/app_/src/App.css +++ /dev/null @@ -1,10 +0,0 @@ -.App { - text-align: center; - margin: 2rem; -} - -.section { - text-align: left; - max-width: 720px; - margin: 4rem auto auto; -} diff --git a/app_/src/App.js b/app_/src/App.js deleted file mode 100644 index a71cfd2..0000000 --- a/app_/src/App.js +++ /dev/null @@ -1,30 +0,0 @@ -import React from "react"; -import { DrizzleContext } from "@drizzle/react-plugin"; -import { Drizzle } from "@drizzle/store"; -import drizzleOptions from "./drizzleOptions"; -import MyComponent from "./MyComponent"; -import "./App.css"; - -const drizzle = new Drizzle(drizzleOptions); - -const App = () => { - return ( - - - {drizzleContext => { - const { drizzle, drizzleState, initialized } = drizzleContext; - - if (!initialized) { - return "Loading..." - } - - return ( - - ) - }} - - - ); -} - -export default App; diff --git a/app_/src/App.test.js b/app_/src/App.test.js deleted file mode 100644 index a754b20..0000000 --- a/app_/src/App.test.js +++ /dev/null @@ -1,9 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import App from './App'; - -it('renders without crashing', () => { - const div = document.createElement('div'); - ReactDOM.render(, div); - ReactDOM.unmountComponentAtNode(div); -}); diff --git a/app_/src/contracts/Address.json b/app_/src/contracts/Address.json deleted file mode 100644 index 27dda43..0000000 --- a/app_/src/contracts/Address.json +++ /dev/null @@ -1,5703 +0,0 @@ -{ - "contractName": "Address", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xdfb4f812600ba4ce6738c35584ceb8c9433472583051b48ba5b1f66cb758a498\",\"urls\":[\"bzz-raw://df02dffe1c1de089d9b4f6192f0dcf464526f2230f420b3deec4645e0cdd2bff\",\"dweb:/ipfs/QmcqXGAU3KJqwrgUVoGJ2W8osomhSJ4R5kdsRpbuW3fELS\"]}},\"version\":1}", - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220703242bad149585112250cf3d6e2da6705b1744839e70aad992f32c9e5c9c48964736f6c63430006020033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220703242bad149585112250cf3d6e2da6705b1744839e70aad992f32c9e5c9c48964736f6c63430006020033", - "sourceMap": "126:5951:13:-:0;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", - "deployedSourceMap": "126:5951:13:-:0;;;;;;;;", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.6.2;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * [IMPORTANT]\n * ====\n * It is unsafe to assume that an address for which this function returns\n * false is an externally-owned account (EOA) and not a contract.\n *\n * Among others, `isContract` will return false for the following\n * types of addresses:\n *\n * - an externally-owned account\n * - a contract in construction\n * - an address where a contract will be created\n * - an address where a contract lived, but was destroyed\n * ====\n */\n function isContract(address account) internal view returns (bool) {\n // According to EIP-1052, 0x0 is the value returned for not-yet created accounts\n // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned\n // for accounts without code, i.e. `keccak256('')`\n bytes32 codehash;\n bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;\n // solhint-disable-next-line no-inline-assembly\n assembly { codehash := extcodehash(account) }\n return (codehash != accountHash && codehash != 0x0);\n }\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n require(address(this).balance >= amount, \"Address: insufficient balance\");\n\n // solhint-disable-next-line avoid-low-level-calls, avoid-call-value\n (bool success, ) = recipient.call{ value: amount }(\"\");\n require(success, \"Address: unable to send value, recipient may have reverted\");\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain`call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason, it is bubbled up by this\n * function (like regular Solidity function calls).\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCall(target, data, \"Address: low-level call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n * `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {\n return _functionCallWithValue(target, data, 0, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\n return functionCallWithValue(target, data, value, \"Address: low-level call with value failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n * with `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {\n require(address(this).balance >= value, \"Address: insufficient balance for call\");\n return _functionCallWithValue(target, data, value, errorMessage);\n }\n\n function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {\n require(isContract(target), \"Address: call to non-contract\");\n\n // solhint-disable-next-line avoid-low-level-calls\n (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);\n if (success) {\n return returndata;\n } else {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n\n // solhint-disable-next-line no-inline-assembly\n assembly {\n let returndata_size := mload(returndata)\n revert(add(32, returndata), returndata_size)\n }\n } else {\n revert(errorMessage);\n }\n }\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/utils/Address.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/Address.sol", - "exportedSymbols": { - "Address": [ - 7116 - ] - }, - "id": 7117, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6921, - "literals": [ - "solidity", - "^", - "0.6", - ".2" - ], - "nodeType": "PragmaDirective", - "src": "33:23:13" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@dev Collection of functions related to the address type", - "fullyImplemented": true, - "id": 7116, - "linearizedBaseContracts": [ - 7116 - ], - "name": "Address", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 6945, - "nodeType": "Block", - "src": "784:544:13", - "statements": [ - { - "assignments": [ - 6929 - ], - "declarations": [ - { - "constant": false, - "id": 6929, - "name": "codehash", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6945, - "src": "1036:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6928, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1036:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6930, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "1036:16:13" - }, - { - "assignments": [ - 6932 - ], - "declarations": [ - { - "constant": false, - "id": 6932, - "name": "accountHash", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6945, - "src": "1062:19:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6931, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1062:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6934, - "initialValue": { - "argumentTypes": null, - "hexValue": "307863356432343630313836663732333363393237653764623264636337303363306535303062363533636138323237336237626661643830343564383561343730", - "id": 6933, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1084:66:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_89477152217924674838424037953991966239322087453347756267410168184682657981552_by_1", - "typeString": "int_const 8947...(69 digits omitted)...1552" - }, - "value": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1062:88:13" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "1225:36:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1227:32:13", - "value": { - "arguments": [ - { - "name": "account", - "nodeType": "YulIdentifier", - "src": "1251:7:13" - } - ], - "functionName": { - "name": "extcodehash", - "nodeType": "YulIdentifier", - "src": "1239:11:13" - }, - "nodeType": "YulFunctionCall", - "src": "1239:20:13" - }, - "variableNames": [ - { - "name": "codehash", - "nodeType": "YulIdentifier", - "src": "1227:8:13" - } - ] - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 6923, - "isOffset": false, - "isSlot": false, - "src": "1251:7:13", - "valueSize": 1 - }, - { - "declaration": 6929, - "isOffset": false, - "isSlot": false, - "src": "1227:8:13", - "valueSize": 1 - } - ], - "id": 6935, - "nodeType": "InlineAssembly", - "src": "1216:45:13" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 6938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6936, - "name": "codehash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6929, - "src": "1278:8:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6937, - "name": "accountHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6932, - "src": "1290:11:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "1278:23:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 6941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6939, - "name": "codehash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6929, - "src": "1305:8:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830", - "id": 6940, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1317:3:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "1305:15:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1278:42:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6943, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1277:44:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6927, - "id": 6944, - "nodeType": "Return", - "src": "1270:51:13" - } - ] - }, - "documentation": "@dev Returns true if `account` is a contract.\n * [IMPORTANT]\n====\nIt is unsafe to assume that an address for which this function returns\nfalse is an externally-owned account (EOA) and not a contract.\n * Among others, `isContract` will return false for the following\ntypes of addresses:\n * - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n====", - "id": 6946, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6924, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6923, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6946, - "src": "738:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6922, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "738:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "737:17:13" - }, - "returnParameters": { - "id": 6927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6926, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6946, - "src": "778:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6925, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "778:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "777:6:13" - }, - "scope": 7116, - "src": "718:610:13", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6978, - "nodeType": "Block", - "src": "2316:320:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6956, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "2342:4:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$7116", - "typeString": "library Address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Address_$7116", - "typeString": "library Address" - } - ], - "id": 6955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2334:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6954, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2334:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2334:13:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2334:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 6959, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6950, - "src": "2359:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2334:31:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365", - "id": 6961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2367:31:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", - "typeString": "literal_string \"Address: insufficient balance\"" - }, - "value": "Address: insufficient balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", - "typeString": "literal_string \"Address: insufficient balance\"" - } - ], - "id": 6953, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2326:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2326:73:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6963, - "nodeType": "ExpressionStatement", - "src": "2326:73:13" - }, - { - "assignments": [ - 6965, - null - ], - "declarations": [ - { - "constant": false, - "id": 6965, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6978, - "src": "2488:12:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6964, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2488:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6972, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "", - "id": 6970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2538:2:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6966, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6948, - "src": "2506:9:13", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 6967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2506:14:13", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 6969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 6968, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6950, - "src": "2529:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "2506:31:13", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 6971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2506:35:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2487:54:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6974, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6965, - "src": "2559:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564", - "id": 6975, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2568:60:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", - "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" - }, - "value": "Address: unable to send value, recipient may have reverted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", - "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" - } - ], - "id": 6973, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2551:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2551:78:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6977, - "nodeType": "ExpressionStatement", - "src": "2551:78:13" - } - ] - }, - "documentation": "@dev Replacement for Solidity's `transfer`: sends `amount` wei to\n`recipient`, forwarding all available gas and reverting on errors.\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\nof certain opcodes, possibly making contracts go over the 2300 gas limit\nimposed by `transfer`, making them unable to receive funds via\n`transfer`. {sendValue} removes this limitation.\n * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n * IMPORTANT: because control is transferred to `recipient`, care must be\ntaken to not create reentrancy vulnerabilities. Consider using\n{ReentrancyGuard} or the\nhttps://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].", - "id": 6979, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sendValue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6951, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6948, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6979, - "src": "2264:25:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 6947, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2264:15:13", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6950, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6979, - "src": "2291:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6949, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2291:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2263:43:13" - }, - "returnParameters": { - "id": 6952, - "nodeType": "ParameterList", - "parameters": [], - "src": "2316:0:13" - }, - "scope": 7116, - "src": "2245:391:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6994, - "nodeType": "Block", - "src": "3466:82:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6989, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6981, - "src": "3494:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6990, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6983, - "src": "3502:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564", - "id": 6991, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3508:32:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", - "typeString": "literal_string \"Address: low-level call failed\"" - }, - "value": "Address: low-level call failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", - "typeString": "literal_string \"Address: low-level call failed\"" - } - ], - "id": 6988, - "name": "functionCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6995, - 7014 - ], - "referencedDeclaration": 7014, - "src": "3481:12:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" - } - }, - "id": 6992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3481:60:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 6987, - "id": 6993, - "nodeType": "Return", - "src": "3474:67:13" - } - ] - }, - "documentation": "@dev Performs a Solidity function call using a low level `call`. A\nplain`call` is an unsafe replacement for a function call: use this\nfunction instead.\n * If `target` reverts with a revert reason, it is bubbled up by this\nfunction (like regular Solidity function calls).\n * Returns the raw returned data. To convert to the expected return value,\nuse https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n * Requirements:\n * - `target` must be a contract.\n- calling `target` with `data` must not revert.\n * _Available since v3.1._", - "id": 6995, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6984, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6981, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6995, - "src": "3399:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6980, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3399:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6983, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6995, - "src": "3415:17:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6982, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3415:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3398:35:13" - }, - "returnParameters": { - "id": 6987, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6986, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6995, - "src": "3452:12:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6985, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3452:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3451:14:13" - }, - "scope": 7116, - "src": "3377:171:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7013, - "nodeType": "Block", - "src": "3887:77:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7007, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6997, - "src": "3927:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7008, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6999, - "src": "3935:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3941:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 7010, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7001, - "src": "3944:12:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 7006, - "name": "_functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7115, - "src": "3904:22:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" - } - }, - "id": 7011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3904:53:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 7005, - "id": 7012, - "nodeType": "Return", - "src": "3897:60:13" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n`errorMessage` as a fallback revert reason when `target` reverts.\n * _Available since v3.1._", - "id": 7014, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7002, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6997, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7014, - "src": "3792:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6996, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3792:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6999, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7014, - "src": "3808:17:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6998, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3808:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7001, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7014, - "src": "3827:26:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7000, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3827:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3791:63:13" - }, - "returnParameters": { - "id": 7005, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7004, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7014, - "src": "3873:12:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7003, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3873:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3872:14:13" - }, - "scope": 7116, - "src": "3770:194:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7032, - "nodeType": "Block", - "src": "4439:111:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7026, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7016, - "src": "4478:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7027, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "4486:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 7028, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7020, - "src": "4492:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564", - "id": 7029, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4499:43:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", - "typeString": "literal_string \"Address: low-level call with value failed\"" - }, - "value": "Address: low-level call with value failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", - "typeString": "literal_string \"Address: low-level call with value failed\"" - } - ], - "id": 7025, - "name": "functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 7033, - 7065 - ], - "referencedDeclaration": 7065, - "src": "4456:21:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" - } - }, - "id": 7030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4456:87:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 7024, - "id": 7031, - "nodeType": "Return", - "src": "4449:94:13" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\nbut also transferring `value` wei to `target`.\n * Requirements:\n * - the calling contract must have an ETH balance of at least `value`.\n- the called Solidity function must be `payable`.\n * _Available since v3.1._", - "id": 7033, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCallWithValue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7021, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7016, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7033, - "src": "4357:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7015, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4357:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7018, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7033, - "src": "4373:17:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7017, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4373:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7020, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7033, - "src": "4392:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7019, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4392:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4356:50:13" - }, - "returnParameters": { - "id": 7024, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7023, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7033, - "src": "4425:12:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7022, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4425:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4424:14:13" - }, - "scope": 7116, - "src": "4326:224:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7064, - "nodeType": "Block", - "src": "4939:172:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7049, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4965:4:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$7116", - "typeString": "library Address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Address_$7116", - "typeString": "library Address" - } - ], - "id": 7048, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4957:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7047, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4957:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4957:13:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4957:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 7052, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7039, - "src": "4982:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4957:30:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c", - "id": 7054, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4989:40:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", - "typeString": "literal_string \"Address: insufficient balance for call\"" - }, - "value": "Address: insufficient balance for call" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", - "typeString": "literal_string \"Address: insufficient balance for call\"" - } - ], - "id": 7046, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4949:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4949:81:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7056, - "nodeType": "ExpressionStatement", - "src": "4949:81:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7058, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7035, - "src": "5070:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7059, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7037, - "src": "5078:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 7060, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7039, - "src": "5084:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7061, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7041, - "src": "5091:12:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 7057, - "name": "_functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7115, - "src": "5047:22:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" - } - }, - "id": 7062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5047:57:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 7045, - "id": 7063, - "nodeType": "Return", - "src": "5040:64:13" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\nwith `errorMessage` as a fallback revert reason when `target` reverts.\n * _Available since v3.1._", - "id": 7065, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCallWithValue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7042, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7035, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7065, - "src": "4829:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4829:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7037, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7065, - "src": "4845:17:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7036, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4845:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7039, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7065, - "src": "4864:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4864:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7041, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7065, - "src": "4879:26:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7040, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4879:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4828:78:13" - }, - "returnParameters": { - "id": 7045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7044, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7065, - "src": "4925:12:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7043, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4925:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4924:14:13" - }, - "scope": 7116, - "src": "4798:313:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7114, - "nodeType": "Block", - "src": "5261:814:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7080, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7067, - "src": "5290:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7079, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6946, - "src": "5279:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 7081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5279:18:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 7082, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5299:31:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", - "typeString": "literal_string \"Address: call to non-contract\"" - }, - "value": "Address: call to non-contract" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", - "typeString": "literal_string \"Address: call to non-contract\"" - } - ], - "id": 7078, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5271:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5271:60:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7084, - "nodeType": "ExpressionStatement", - "src": "5271:60:13" - }, - { - "assignments": [ - 7086, - 7088 - ], - "declarations": [ - { - "constant": false, - "id": 7086, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7114, - "src": "5402:12:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7085, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5402:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7088, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7114, - "src": "5416:23:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7087, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5416:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7095, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7093, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7069, - "src": "5474:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7089, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7067, - "src": "5443:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5443:11:13", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 7092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 7091, - "name": "weiValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7071, - "src": "5463:8:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "5443:30:13", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 7094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5443:36:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5401:78:13" - }, - { - "condition": { - "argumentTypes": null, - "id": 7096, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7086, - "src": "5493:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 7112, - "nodeType": "Block", - "src": "5550:519:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7100, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7088, - "src": "5634:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 7101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5634:17:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7102, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5654:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5634:21:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 7110, - "nodeType": "Block", - "src": "6006:53:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7107, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7073, - "src": "6031:12:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 7106, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "6024:6:13", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 7108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6024:20:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7109, - "nodeType": "ExpressionStatement", - "src": "6024:20:13" - } - ] - }, - "id": 7111, - "nodeType": "IfStatement", - "src": "5630:429:13", - "trueBody": { - "id": 7105, - "nodeType": "Block", - "src": "5657:343:13", - "statements": [ - { - "AST": { - "nodeType": "YulBlock", - "src": "5841:145:13", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5863:40:13", - "value": { - "arguments": [ - { - "name": "returndata", - "nodeType": "YulIdentifier", - "src": "5892:10:13" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5886:5:13" - }, - "nodeType": "YulFunctionCall", - "src": "5886:17:13" - }, - "variables": [ - { - "name": "returndata_size", - "nodeType": "YulTypedName", - "src": "5867:15:13", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5935:2:13", - "type": "", - "value": "32" - }, - { - "name": "returndata", - "nodeType": "YulIdentifier", - "src": "5939:10:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5931:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "5931:19:13" - }, - { - "name": "returndata_size", - "nodeType": "YulIdentifier", - "src": "5952:15:13" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5924:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "5924:44:13" - }, - "nodeType": "YulExpressionStatement", - "src": "5924:44:13" - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 7088, - "isOffset": false, - "isSlot": false, - "src": "5892:10:13", - "valueSize": 1 - }, - { - "declaration": 7088, - "isOffset": false, - "isSlot": false, - "src": "5939:10:13", - "valueSize": 1 - } - ], - "id": 7104, - "nodeType": "InlineAssembly", - "src": "5832:154:13" - } - ] - } - } - ] - }, - "id": 7113, - "nodeType": "IfStatement", - "src": "5489:580:13", - "trueBody": { - "id": 7099, - "nodeType": "Block", - "src": "5502:42:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7097, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7088, - "src": "5523:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 7077, - "id": 7098, - "nodeType": "Return", - "src": "5516:17:13" - } - ] - } - } - ] - }, - "documentation": null, - "id": 7115, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_functionCallWithValue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7067, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7115, - "src": "5149:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7066, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5149:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7069, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7115, - "src": "5165:17:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7068, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5165:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7071, - "name": "weiValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7115, - "src": "5184:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5184:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7073, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7115, - "src": "5202:26:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7072, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5202:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5148:81:13" - }, - "returnParameters": { - "id": 7077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7076, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7115, - "src": "5247:12:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7075, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5247:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5246:14:13" - }, - "scope": 7116, - "src": "5117:958:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - } - ], - "scope": 7117, - "src": "126:5951:13" - } - ], - "src": "33:6045:13" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/utils/Address.sol", - "exportedSymbols": { - "Address": [ - 7116 - ] - }, - "id": 7117, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6921, - "literals": [ - "solidity", - "^", - "0.6", - ".2" - ], - "nodeType": "PragmaDirective", - "src": "33:23:13" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@dev Collection of functions related to the address type", - "fullyImplemented": true, - "id": 7116, - "linearizedBaseContracts": [ - 7116 - ], - "name": "Address", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 6945, - "nodeType": "Block", - "src": "784:544:13", - "statements": [ - { - "assignments": [ - 6929 - ], - "declarations": [ - { - "constant": false, - "id": 6929, - "name": "codehash", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6945, - "src": "1036:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6928, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1036:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6930, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "1036:16:13" - }, - { - "assignments": [ - 6932 - ], - "declarations": [ - { - "constant": false, - "id": 6932, - "name": "accountHash", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6945, - "src": "1062:19:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6931, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1062:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6934, - "initialValue": { - "argumentTypes": null, - "hexValue": "307863356432343630313836663732333363393237653764623264636337303363306535303062363533636138323237336237626661643830343564383561343730", - "id": 6933, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1084:66:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_89477152217924674838424037953991966239322087453347756267410168184682657981552_by_1", - "typeString": "int_const 8947...(69 digits omitted)...1552" - }, - "value": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1062:88:13" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "1225:36:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1227:32:13", - "value": { - "arguments": [ - { - "name": "account", - "nodeType": "YulIdentifier", - "src": "1251:7:13" - } - ], - "functionName": { - "name": "extcodehash", - "nodeType": "YulIdentifier", - "src": "1239:11:13" - }, - "nodeType": "YulFunctionCall", - "src": "1239:20:13" - }, - "variableNames": [ - { - "name": "codehash", - "nodeType": "YulIdentifier", - "src": "1227:8:13" - } - ] - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 6923, - "isOffset": false, - "isSlot": false, - "src": "1251:7:13", - "valueSize": 1 - }, - { - "declaration": 6929, - "isOffset": false, - "isSlot": false, - "src": "1227:8:13", - "valueSize": 1 - } - ], - "id": 6935, - "nodeType": "InlineAssembly", - "src": "1216:45:13" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 6938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6936, - "name": "codehash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6929, - "src": "1278:8:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6937, - "name": "accountHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6932, - "src": "1290:11:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "1278:23:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 6941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6939, - "name": "codehash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6929, - "src": "1305:8:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830", - "id": 6940, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1317:3:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "1305:15:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1278:42:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6943, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1277:44:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6927, - "id": 6944, - "nodeType": "Return", - "src": "1270:51:13" - } - ] - }, - "documentation": "@dev Returns true if `account` is a contract.\n * [IMPORTANT]\n====\nIt is unsafe to assume that an address for which this function returns\nfalse is an externally-owned account (EOA) and not a contract.\n * Among others, `isContract` will return false for the following\ntypes of addresses:\n * - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n====", - "id": 6946, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6924, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6923, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6946, - "src": "738:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6922, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "738:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "737:17:13" - }, - "returnParameters": { - "id": 6927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6926, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6946, - "src": "778:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6925, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "778:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "777:6:13" - }, - "scope": 7116, - "src": "718:610:13", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6978, - "nodeType": "Block", - "src": "2316:320:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6956, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "2342:4:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$7116", - "typeString": "library Address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Address_$7116", - "typeString": "library Address" - } - ], - "id": 6955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2334:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6954, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2334:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2334:13:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2334:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 6959, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6950, - "src": "2359:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2334:31:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365", - "id": 6961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2367:31:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", - "typeString": "literal_string \"Address: insufficient balance\"" - }, - "value": "Address: insufficient balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", - "typeString": "literal_string \"Address: insufficient balance\"" - } - ], - "id": 6953, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2326:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2326:73:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6963, - "nodeType": "ExpressionStatement", - "src": "2326:73:13" - }, - { - "assignments": [ - 6965, - null - ], - "declarations": [ - { - "constant": false, - "id": 6965, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6978, - "src": "2488:12:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6964, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2488:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 6972, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "", - "id": 6970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2538:2:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6966, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6948, - "src": "2506:9:13", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 6967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2506:14:13", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 6969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 6968, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6950, - "src": "2529:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "2506:31:13", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 6971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2506:35:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2487:54:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6974, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6965, - "src": "2559:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564", - "id": 6975, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2568:60:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", - "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" - }, - "value": "Address: unable to send value, recipient may have reverted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", - "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" - } - ], - "id": 6973, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2551:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2551:78:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6977, - "nodeType": "ExpressionStatement", - "src": "2551:78:13" - } - ] - }, - "documentation": "@dev Replacement for Solidity's `transfer`: sends `amount` wei to\n`recipient`, forwarding all available gas and reverting on errors.\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\nof certain opcodes, possibly making contracts go over the 2300 gas limit\nimposed by `transfer`, making them unable to receive funds via\n`transfer`. {sendValue} removes this limitation.\n * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n * IMPORTANT: because control is transferred to `recipient`, care must be\ntaken to not create reentrancy vulnerabilities. Consider using\n{ReentrancyGuard} or the\nhttps://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].", - "id": 6979, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sendValue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6951, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6948, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6979, - "src": "2264:25:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 6947, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2264:15:13", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6950, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6979, - "src": "2291:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6949, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2291:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2263:43:13" - }, - "returnParameters": { - "id": 6952, - "nodeType": "ParameterList", - "parameters": [], - "src": "2316:0:13" - }, - "scope": 7116, - "src": "2245:391:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6994, - "nodeType": "Block", - "src": "3466:82:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6989, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6981, - "src": "3494:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6990, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6983, - "src": "3502:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564", - "id": 6991, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3508:32:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", - "typeString": "literal_string \"Address: low-level call failed\"" - }, - "value": "Address: low-level call failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", - "typeString": "literal_string \"Address: low-level call failed\"" - } - ], - "id": 6988, - "name": "functionCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6995, - 7014 - ], - "referencedDeclaration": 7014, - "src": "3481:12:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" - } - }, - "id": 6992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3481:60:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 6987, - "id": 6993, - "nodeType": "Return", - "src": "3474:67:13" - } - ] - }, - "documentation": "@dev Performs a Solidity function call using a low level `call`. A\nplain`call` is an unsafe replacement for a function call: use this\nfunction instead.\n * If `target` reverts with a revert reason, it is bubbled up by this\nfunction (like regular Solidity function calls).\n * Returns the raw returned data. To convert to the expected return value,\nuse https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n * Requirements:\n * - `target` must be a contract.\n- calling `target` with `data` must not revert.\n * _Available since v3.1._", - "id": 6995, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6984, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6981, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6995, - "src": "3399:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6980, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3399:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6983, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6995, - "src": "3415:17:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6982, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3415:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3398:35:13" - }, - "returnParameters": { - "id": 6987, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6986, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6995, - "src": "3452:12:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6985, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3452:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3451:14:13" - }, - "scope": 7116, - "src": "3377:171:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7013, - "nodeType": "Block", - "src": "3887:77:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7007, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6997, - "src": "3927:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7008, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6999, - "src": "3935:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3941:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 7010, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7001, - "src": "3944:12:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 7006, - "name": "_functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7115, - "src": "3904:22:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" - } - }, - "id": 7011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3904:53:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 7005, - "id": 7012, - "nodeType": "Return", - "src": "3897:60:13" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n`errorMessage` as a fallback revert reason when `target` reverts.\n * _Available since v3.1._", - "id": 7014, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7002, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6997, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7014, - "src": "3792:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6996, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3792:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6999, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7014, - "src": "3808:17:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6998, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3808:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7001, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7014, - "src": "3827:26:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7000, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3827:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3791:63:13" - }, - "returnParameters": { - "id": 7005, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7004, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7014, - "src": "3873:12:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7003, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3873:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3872:14:13" - }, - "scope": 7116, - "src": "3770:194:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7032, - "nodeType": "Block", - "src": "4439:111:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7026, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7016, - "src": "4478:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7027, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "4486:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 7028, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7020, - "src": "4492:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564", - "id": 7029, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4499:43:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", - "typeString": "literal_string \"Address: low-level call with value failed\"" - }, - "value": "Address: low-level call with value failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", - "typeString": "literal_string \"Address: low-level call with value failed\"" - } - ], - "id": 7025, - "name": "functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 7033, - 7065 - ], - "referencedDeclaration": 7065, - "src": "4456:21:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" - } - }, - "id": 7030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4456:87:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 7024, - "id": 7031, - "nodeType": "Return", - "src": "4449:94:13" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\nbut also transferring `value` wei to `target`.\n * Requirements:\n * - the calling contract must have an ETH balance of at least `value`.\n- the called Solidity function must be `payable`.\n * _Available since v3.1._", - "id": 7033, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCallWithValue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7021, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7016, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7033, - "src": "4357:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7015, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4357:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7018, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7033, - "src": "4373:17:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7017, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4373:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7020, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7033, - "src": "4392:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7019, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4392:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4356:50:13" - }, - "returnParameters": { - "id": 7024, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7023, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7033, - "src": "4425:12:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7022, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4425:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4424:14:13" - }, - "scope": 7116, - "src": "4326:224:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7064, - "nodeType": "Block", - "src": "4939:172:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7049, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4965:4:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$7116", - "typeString": "library Address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Address_$7116", - "typeString": "library Address" - } - ], - "id": 7048, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4957:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7047, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4957:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4957:13:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4957:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 7052, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7039, - "src": "4982:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4957:30:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c", - "id": 7054, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4989:40:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", - "typeString": "literal_string \"Address: insufficient balance for call\"" - }, - "value": "Address: insufficient balance for call" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", - "typeString": "literal_string \"Address: insufficient balance for call\"" - } - ], - "id": 7046, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4949:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4949:81:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7056, - "nodeType": "ExpressionStatement", - "src": "4949:81:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7058, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7035, - "src": "5070:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7059, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7037, - "src": "5078:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 7060, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7039, - "src": "5084:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7061, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7041, - "src": "5091:12:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 7057, - "name": "_functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7115, - "src": "5047:22:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" - } - }, - "id": 7062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5047:57:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 7045, - "id": 7063, - "nodeType": "Return", - "src": "5040:64:13" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\nwith `errorMessage` as a fallback revert reason when `target` reverts.\n * _Available since v3.1._", - "id": 7065, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCallWithValue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7042, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7035, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7065, - "src": "4829:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4829:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7037, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7065, - "src": "4845:17:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7036, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4845:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7039, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7065, - "src": "4864:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4864:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7041, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7065, - "src": "4879:26:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7040, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4879:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4828:78:13" - }, - "returnParameters": { - "id": 7045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7044, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7065, - "src": "4925:12:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7043, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4925:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4924:14:13" - }, - "scope": 7116, - "src": "4798:313:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7114, - "nodeType": "Block", - "src": "5261:814:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7080, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7067, - "src": "5290:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7079, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6946, - "src": "5279:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 7081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5279:18:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 7082, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5299:31:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", - "typeString": "literal_string \"Address: call to non-contract\"" - }, - "value": "Address: call to non-contract" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", - "typeString": "literal_string \"Address: call to non-contract\"" - } - ], - "id": 7078, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5271:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5271:60:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7084, - "nodeType": "ExpressionStatement", - "src": "5271:60:13" - }, - { - "assignments": [ - 7086, - 7088 - ], - "declarations": [ - { - "constant": false, - "id": 7086, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7114, - "src": "5402:12:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7085, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5402:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7088, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7114, - "src": "5416:23:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7087, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5416:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7095, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7093, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7069, - "src": "5474:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7089, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7067, - "src": "5443:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5443:11:13", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 7092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 7091, - "name": "weiValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7071, - "src": "5463:8:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "5443:30:13", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 7094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5443:36:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5401:78:13" - }, - { - "condition": { - "argumentTypes": null, - "id": 7096, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7086, - "src": "5493:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 7112, - "nodeType": "Block", - "src": "5550:519:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7100, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7088, - "src": "5634:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 7101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5634:17:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7102, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5654:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5634:21:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 7110, - "nodeType": "Block", - "src": "6006:53:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7107, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7073, - "src": "6031:12:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 7106, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "6024:6:13", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 7108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6024:20:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7109, - "nodeType": "ExpressionStatement", - "src": "6024:20:13" - } - ] - }, - "id": 7111, - "nodeType": "IfStatement", - "src": "5630:429:13", - "trueBody": { - "id": 7105, - "nodeType": "Block", - "src": "5657:343:13", - "statements": [ - { - "AST": { - "nodeType": "YulBlock", - "src": "5841:145:13", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5863:40:13", - "value": { - "arguments": [ - { - "name": "returndata", - "nodeType": "YulIdentifier", - "src": "5892:10:13" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5886:5:13" - }, - "nodeType": "YulFunctionCall", - "src": "5886:17:13" - }, - "variables": [ - { - "name": "returndata_size", - "nodeType": "YulTypedName", - "src": "5867:15:13", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5935:2:13", - "type": "", - "value": "32" - }, - { - "name": "returndata", - "nodeType": "YulIdentifier", - "src": "5939:10:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5931:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "5931:19:13" - }, - { - "name": "returndata_size", - "nodeType": "YulIdentifier", - "src": "5952:15:13" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5924:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "5924:44:13" - }, - "nodeType": "YulExpressionStatement", - "src": "5924:44:13" - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 7088, - "isOffset": false, - "isSlot": false, - "src": "5892:10:13", - "valueSize": 1 - }, - { - "declaration": 7088, - "isOffset": false, - "isSlot": false, - "src": "5939:10:13", - "valueSize": 1 - } - ], - "id": 7104, - "nodeType": "InlineAssembly", - "src": "5832:154:13" - } - ] - } - } - ] - }, - "id": 7113, - "nodeType": "IfStatement", - "src": "5489:580:13", - "trueBody": { - "id": 7099, - "nodeType": "Block", - "src": "5502:42:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7097, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7088, - "src": "5523:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 7077, - "id": 7098, - "nodeType": "Return", - "src": "5516:17:13" - } - ] - } - } - ] - }, - "documentation": null, - "id": 7115, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_functionCallWithValue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7067, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7115, - "src": "5149:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7066, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5149:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7069, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7115, - "src": "5165:17:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7068, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5165:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7071, - "name": "weiValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7115, - "src": "5184:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5184:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7073, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7115, - "src": "5202:26:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7072, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5202:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5148:81:13" - }, - "returnParameters": { - "id": 7077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7076, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7115, - "src": "5247:12:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7075, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5247:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5246:14:13" - }, - "scope": 7116, - "src": "5117:958:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - } - ], - "scope": 7117, - "src": "126:5951:13" - } - ], - "src": "33:6045:13" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.0", - "updatedAt": "2020-08-31T20:17:13.420Z", - "devdoc": { - "details": "Collection of functions related to the address type", - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/app_/src/contracts/BN256G2.json b/app_/src/contracts/BN256G2.json deleted file mode 100644 index 5db105c..0000000 --- a/app_/src/contracts/BN256G2.json +++ /dev/null @@ -1,74856 +0,0 @@ -{ - "contractName": "BN256G2", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "pt1xx", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pt1xy", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pt1yx", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pt1yy", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pt2xx", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pt2xy", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pt2yx", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pt2yy", - "type": "uint256" - } - ], - "name": "ECTwistAdd", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "s", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pt1xx", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pt1xy", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pt1yx", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pt1yy", - "type": "uint256" - } - ], - "name": "ECTwistMul", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "GetFieldModulus", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"pt1xx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pt1xy\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pt1yx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pt1yy\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pt2xx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pt2xy\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pt2yx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pt2yy\",\"type\":\"uint256\"}],\"name\":\"ECTwistAdd\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"s\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pt1xx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pt1xy\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pt1yx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pt1yy\",\"type\":\"uint256\"}],\"name\":\"ECTwistMul\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GetFieldModulus\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Mustafa Al-Bassam (mus@musalbas.com)\",\"details\":\"Homepage: https://github.com/musalbas/solidity-BN256G2\",\"methods\":{\"ECTwistAdd(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)\":{\"params\":{\"pt1xx\":\"Coefficient 1 of x on point 1\",\"pt1xy\":\"Coefficient 2 of x on point 1\",\"pt1yx\":\"Coefficient 1 of y on point 1\",\"pt1yy\":\"Coefficient 2 of y on point 1\",\"pt2xx\":\"Coefficient 1 of x on point 2\",\"pt2xy\":\"Coefficient 2 of x on point 2\",\"pt2yx\":\"Coefficient 1 of y on point 2\",\"pt2yy\":\"Coefficient 2 of y on point 2\"},\"returns\":{\"_0\":\"(pt3xx, pt3xy, pt3yx, pt3yy)\"}},\"ECTwistMul(uint256,uint256,uint256,uint256,uint256)\":{\"params\":{\"pt1xx\":\"Coefficient 1 of x\",\"pt1xy\":\"Coefficient 2 of x\",\"pt1yx\":\"Coefficient 1 of y\",\"pt1yy\":\"Coefficient 2 of y\",\"s\":\"Scalar to multiply by\"},\"returns\":{\"_0\":\"(pt2xx, pt2xy, pt2yx, pt2yy)\"}}},\"title\":\"Elliptic curve operations on twist points for alt_bn128\"},\"userdoc\":{\"methods\":{\"ECTwistAdd(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)\":{\"notice\":\"Add two twist points\"},\"ECTwistMul(uint256,uint256,uint256,uint256,uint256)\":{\"notice\":\"Multiply a twist point by a scalar\"},\"GetFieldModulus()\":{\"notice\":\"Get the field modulus\"}}}},\"settings\":{\"compilationTarget\":{\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/zokrates/code/square/verifier.sol\":\"BN256G2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/zokrates/code/square/verifier.sol\":{\"keccak256\":\"0xea2809bb967696406e674d57eccb6551466cc0fb033e0aba4c25a1c89c58ec4f\",\"urls\":[\"bzz-raw://a531b1eb59bb349f8d177dfc5b5088ede821f66e12614cbad1b7412bd7b105b7\",\"dweb:/ipfs/QmWaBsxggzdp74xUS1gnVuJoUBDyRktfuioGYq7KpN6DzL\"]}},\"version\":1}", - "bytecode": "0x6111bb610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c806355a3e90f1461005057806361a931ec1461006e578063b73ab75d1461010c575b600080fd5b61005861018b565b6040518082815260200191505060405180910390f35b6100e1600480360361010081101561008557600080fd5b8101908080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291905050506101b3565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b610160600480360360a081101561012257600080fd5b810190808035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050610359565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b60007f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47905090565b60008060008060008c1480156101c9575060008b145b80156101d5575060008a145b80156101e15750600089145b15610236576000881480156101f65750600087145b80156102025750600086145b801561020e5750600085145b6102255761021e8888888861045a565b61022457fe5b5b87878787935093509350935061034a565b6000881480156102465750600087145b80156102525750600086145b801561025e5750600085145b156102865761026f8c8c8c8c61045a565b61027557fe5b8b8b8b8b935093509350935061034a565b6102928c8c8c8c61045a565b61029857fe5b6102a48888888861045a565b6102aa57fe5b6102b2611163565b6102ca8d8d8d8d600160008f8f8f8f60016000610523565b9050610340816000600681106102dc57fe5b6020020151826001600681106102ee57fe5b60200201518360026006811061030057fe5b60200201518460036006811061031257fe5b60200201518560046006811061032457fe5b60200201518660056006811061033657fe5b6020020151610b17565b9450945094509450505b98509850985098945050505050565b6000806000806000600190506000891480156103755750600088145b80156103815750600087145b801561038d5750600086145b156103a3576001985060019650600090506103b6565b6103af8989898961045a565b6103b557fe5b5b6103be611163565b6103ce8b8b8b8b8b876000610b69565b9050610444816000600681106103e057fe5b6020020151826001600681106103f257fe5b60200201518360026006811061040457fe5b60200201518460036006811061041657fe5b60200201518560046006811061042857fe5b60200201518660056006811061043a57fe5b6020020151610b17565b9550955095509550505095509550955095915050565b600080600080600061046e87878989610c45565b809450819550505061048289898b8b610c45565b809250819350505061049682828b8b610c45565b80925081935050506104aa84848484610d53565b80945081955050506104fd84847f2b149d40ceb8aaae81be18991be06ac3b5b4c5e559dbefa33267e6dc24a138e57e9713b03af0fed4cd2cafadeed8fdf4a74fa084e52d1852e4a2bd0685c315d2610d53565b80945081955050506000841480156105155750600083145b945050505050949350505050565b61052b611163565b60008914801561053b5750600088145b156105d2578686868686868660006006811061055357fe5b602002018760016006811061056457fe5b602002018860026006811061057557fe5b602002018960036006811061058657fe5b602002018a60046006811061059757fe5b602002018b6005600681106105a857fe5b60200201868152508681525086815250868152508681525086815250505050505050809050610b07565b6000831480156105e25750600082145b15610679578c8c8c8c8c8c866000600681106105fa57fe5b602002018760016006811061060b57fe5b602002018860026006811061061c57fe5b602002018960036006811061062d57fe5b602002018a60046006811061063e57fe5b602002018b60056006811061064f57fe5b60200201868152508681525086815250868152508681525086815250505050505050809050610b07565b61068585858b8b610c45565b80955081965050506106998b8b8585610c45565b826002600681106106a657fe5b60200201836003600681106106b757fe5b60200201828152508281525050506106d187878b8b610c45565b80975081985050506106e58d8d8585610c45565b826004600681106106f257fe5b602002018360056006811061070357fe5b60200201828152508281525050508060046006811061071e57fe5b60200201518714801561074157508060056006811061073957fe5b602002015186145b156108be578060026006811061075357fe5b60200201518514801561077657508060036006811061076e57fe5b602002015184145b15610815576107898d8d8d8d8d8d610db9565b8660006006811061079657fe5b60200201876001600681106107a757fe5b60200201886002600681106107b857fe5b60200201896003600681106107c957fe5b602002018a6004600681106107da57fe5b602002018b6005600681106107eb57fe5b60200201868152508681525086815250868152508681525086815250505050505050809050610b07565b60016000600160008060008595508494508393508292508191508090508660006006811061083f57fe5b602002018760016006811061085057fe5b602002018860026006811061086157fe5b602002018960036006811061087257fe5b602002018a60046006811061088357fe5b602002018b60056006811061089457fe5b60200201868152508681525086815250868152508681525086815250505050505050809050610b07565b6108ca89898585610c45565b80935081945050506109008585836002600681106108e457fe5b6020020151846003600681106108f657fe5b6020020151610d53565b809d50819e50505061093687878360046006811061091a57fe5b60200201518460056006811061092c57fe5b6020020151610d53565b809b50819c50505061094a8b8b8d8d610c45565b809950819a50505061098089898360046006811061096457fe5b60200201518460056006811061097657fe5b6020020151610c45565b809550819650505061099489898d8d610c45565b809950819a5050506109a889898585610c45565b826004600681106109b557fe5b60200201836005600681106109c657fe5b60200201828152508281525050506109e08d8d8f8f610c45565b80975081985050506109f487878585610c45565b8097508198505050610a0887878b8b610d53565b8097508198505050610a1c85856002610f61565b8093508194505050610a3087878585610d53565b8097508198505050610a448b8b8989610c45565b82600060068110610a5157fe5b6020020183600160068110610a6257fe5b6020020182815250828152505050610a7c85858989610d53565b809b50819c505050610a908d8d8d8d610c45565b809b50819c505050610ac6898983600260068110610aaa57fe5b602002015184600360068110610abc57fe5b6020020151610c45565b809d50819e505050610ada8b8b8f8f610d53565b82600260068110610ae757fe5b6020020183600360068110610af857fe5b60200201828152508281525050505b9c9b505050505050505050505050565b600080600080600080610b2a8888610fc6565b8092508193505050610b3e8c8c8484610c45565b8096508197505050610b528a8a8484610c45565b809450819550505050509650965096509692505050565b610b71611163565b5b60008814610c3a5760006001891614610c0257610bff81600060068110610b9557fe5b602002015182600160068110610ba757fe5b602002015183600260068110610bb957fe5b602002015184600360068110610bcb57fe5b602002015185600460068110610bdd57fe5b602002015186600560068110610bef57fe5b60200201518d8d8d8d8d8d610523565b90505b610c10878787878787610db9565b809750819850829950839a50849b50859c5050505050505060028881610c3257fe5b049750610b72565b979650505050505050565b600080610cc77f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780610c7357fe5b8588097f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780610c9e57fe5b8588097f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd476110f9565b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780610cef57fe5b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780610d1757fe5b8688097f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780610d4257fe5b868a09089150915094509492505050565b600080610d8186857f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd476110f9565b610dac86857f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd476110f9565b9150915094509492505050565b600080600080600080610dce8c8c6003610f61565b8096508197505050610de286868e8e610c45565b8096508197505050610df68a8a8a8a610c45565b8098508199505050610e0a8c8c8c8c610c45565b8094508195505050610e1e84848a8a610c45565b8094508195505050610e3286868888610c45565b809c50819d505050610e4684846008610f61565b8092508193505050610e5a8c8c8484610d53565b809c50819d505050610e6e88888a8a610c45565b8092508193505050610e8284846004610f61565b8094508195505050610e9684848e8e610d53565b8094508195505050610eaa84848888610c45565b8094508195505050610ebe8a8a6008610f61565b8096508197505050610ed286868c8c610c45565b8096508197505050610ee686868484610c45565b8096508197505050610efa84848888610d53565b8094508195505050610f0e8c8c6002610f61565b8096508197505050610f2286868a8a610c45565b8096508197505050610f3688888484610c45565b8092508193505050610f4a82826008610f61565b809250819350505096509650965096509650969050565b6000807f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780610f8c57fe5b8386097f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780610fb757fe5b84860991509150935093915050565b60008060006110737f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780610ff657fe5b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478061101e57fe5b8788097f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478061104957fe5b878809087f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47611111565b90507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478061109d57fe5b8186097f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47806110c857fe5b8286097f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd470392509250509250929050565b6000818061110357fe5b838303850890509392505050565b60008060405160208152602080820152602060408201528460608201526002840360808201528360a082015260208160c08360056107d05a03fa915080519250508061115c57600080fd5b5092915050565b6040518060c0016040528060069060208202803883398082019150509050509056fea2646970667358221220b79e14def0f550aaa3b0fd17bda5f766eae505f9fb65561b62d1fc19f9722fc064736f6c63430006020033", - "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c806355a3e90f1461005057806361a931ec1461006e578063b73ab75d1461010c575b600080fd5b61005861018b565b6040518082815260200191505060405180910390f35b6100e1600480360361010081101561008557600080fd5b8101908080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291905050506101b3565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b610160600480360360a081101561012257600080fd5b810190808035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050610359565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b60007f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47905090565b60008060008060008c1480156101c9575060008b145b80156101d5575060008a145b80156101e15750600089145b15610236576000881480156101f65750600087145b80156102025750600086145b801561020e5750600085145b6102255761021e8888888861045a565b61022457fe5b5b87878787935093509350935061034a565b6000881480156102465750600087145b80156102525750600086145b801561025e5750600085145b156102865761026f8c8c8c8c61045a565b61027557fe5b8b8b8b8b935093509350935061034a565b6102928c8c8c8c61045a565b61029857fe5b6102a48888888861045a565b6102aa57fe5b6102b2611163565b6102ca8d8d8d8d600160008f8f8f8f60016000610523565b9050610340816000600681106102dc57fe5b6020020151826001600681106102ee57fe5b60200201518360026006811061030057fe5b60200201518460036006811061031257fe5b60200201518560046006811061032457fe5b60200201518660056006811061033657fe5b6020020151610b17565b9450945094509450505b98509850985098945050505050565b6000806000806000600190506000891480156103755750600088145b80156103815750600087145b801561038d5750600086145b156103a3576001985060019650600090506103b6565b6103af8989898961045a565b6103b557fe5b5b6103be611163565b6103ce8b8b8b8b8b876000610b69565b9050610444816000600681106103e057fe5b6020020151826001600681106103f257fe5b60200201518360026006811061040457fe5b60200201518460036006811061041657fe5b60200201518560046006811061042857fe5b60200201518660056006811061043a57fe5b6020020151610b17565b9550955095509550505095509550955095915050565b600080600080600061046e87878989610c45565b809450819550505061048289898b8b610c45565b809250819350505061049682828b8b610c45565b80925081935050506104aa84848484610d53565b80945081955050506104fd84847f2b149d40ceb8aaae81be18991be06ac3b5b4c5e559dbefa33267e6dc24a138e57e9713b03af0fed4cd2cafadeed8fdf4a74fa084e52d1852e4a2bd0685c315d2610d53565b80945081955050506000841480156105155750600083145b945050505050949350505050565b61052b611163565b60008914801561053b5750600088145b156105d2578686868686868660006006811061055357fe5b602002018760016006811061056457fe5b602002018860026006811061057557fe5b602002018960036006811061058657fe5b602002018a60046006811061059757fe5b602002018b6005600681106105a857fe5b60200201868152508681525086815250868152508681525086815250505050505050809050610b07565b6000831480156105e25750600082145b15610679578c8c8c8c8c8c866000600681106105fa57fe5b602002018760016006811061060b57fe5b602002018860026006811061061c57fe5b602002018960036006811061062d57fe5b602002018a60046006811061063e57fe5b602002018b60056006811061064f57fe5b60200201868152508681525086815250868152508681525086815250505050505050809050610b07565b61068585858b8b610c45565b80955081965050506106998b8b8585610c45565b826002600681106106a657fe5b60200201836003600681106106b757fe5b60200201828152508281525050506106d187878b8b610c45565b80975081985050506106e58d8d8585610c45565b826004600681106106f257fe5b602002018360056006811061070357fe5b60200201828152508281525050508060046006811061071e57fe5b60200201518714801561074157508060056006811061073957fe5b602002015186145b156108be578060026006811061075357fe5b60200201518514801561077657508060036006811061076e57fe5b602002015184145b15610815576107898d8d8d8d8d8d610db9565b8660006006811061079657fe5b60200201876001600681106107a757fe5b60200201886002600681106107b857fe5b60200201896003600681106107c957fe5b602002018a6004600681106107da57fe5b602002018b6005600681106107eb57fe5b60200201868152508681525086815250868152508681525086815250505050505050809050610b07565b60016000600160008060008595508494508393508292508191508090508660006006811061083f57fe5b602002018760016006811061085057fe5b602002018860026006811061086157fe5b602002018960036006811061087257fe5b602002018a60046006811061088357fe5b602002018b60056006811061089457fe5b60200201868152508681525086815250868152508681525086815250505050505050809050610b07565b6108ca89898585610c45565b80935081945050506109008585836002600681106108e457fe5b6020020151846003600681106108f657fe5b6020020151610d53565b809d50819e50505061093687878360046006811061091a57fe5b60200201518460056006811061092c57fe5b6020020151610d53565b809b50819c50505061094a8b8b8d8d610c45565b809950819a50505061098089898360046006811061096457fe5b60200201518460056006811061097657fe5b6020020151610c45565b809550819650505061099489898d8d610c45565b809950819a5050506109a889898585610c45565b826004600681106109b557fe5b60200201836005600681106109c657fe5b60200201828152508281525050506109e08d8d8f8f610c45565b80975081985050506109f487878585610c45565b8097508198505050610a0887878b8b610d53565b8097508198505050610a1c85856002610f61565b8093508194505050610a3087878585610d53565b8097508198505050610a448b8b8989610c45565b82600060068110610a5157fe5b6020020183600160068110610a6257fe5b6020020182815250828152505050610a7c85858989610d53565b809b50819c505050610a908d8d8d8d610c45565b809b50819c505050610ac6898983600260068110610aaa57fe5b602002015184600360068110610abc57fe5b6020020151610c45565b809d50819e505050610ada8b8b8f8f610d53565b82600260068110610ae757fe5b6020020183600360068110610af857fe5b60200201828152508281525050505b9c9b505050505050505050505050565b600080600080600080610b2a8888610fc6565b8092508193505050610b3e8c8c8484610c45565b8096508197505050610b528a8a8484610c45565b809450819550505050509650965096509692505050565b610b71611163565b5b60008814610c3a5760006001891614610c0257610bff81600060068110610b9557fe5b602002015182600160068110610ba757fe5b602002015183600260068110610bb957fe5b602002015184600360068110610bcb57fe5b602002015185600460068110610bdd57fe5b602002015186600560068110610bef57fe5b60200201518d8d8d8d8d8d610523565b90505b610c10878787878787610db9565b809750819850829950839a50849b50859c5050505050505060028881610c3257fe5b049750610b72565b979650505050505050565b600080610cc77f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780610c7357fe5b8588097f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780610c9e57fe5b8588097f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd476110f9565b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780610cef57fe5b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780610d1757fe5b8688097f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780610d4257fe5b868a09089150915094509492505050565b600080610d8186857f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd476110f9565b610dac86857f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd476110f9565b9150915094509492505050565b600080600080600080610dce8c8c6003610f61565b8096508197505050610de286868e8e610c45565b8096508197505050610df68a8a8a8a610c45565b8098508199505050610e0a8c8c8c8c610c45565b8094508195505050610e1e84848a8a610c45565b8094508195505050610e3286868888610c45565b809c50819d505050610e4684846008610f61565b8092508193505050610e5a8c8c8484610d53565b809c50819d505050610e6e88888a8a610c45565b8092508193505050610e8284846004610f61565b8094508195505050610e9684848e8e610d53565b8094508195505050610eaa84848888610c45565b8094508195505050610ebe8a8a6008610f61565b8096508197505050610ed286868c8c610c45565b8096508197505050610ee686868484610c45565b8096508197505050610efa84848888610d53565b8094508195505050610f0e8c8c6002610f61565b8096508197505050610f2286868a8a610c45565b8096508197505050610f3688888484610c45565b8092508193505050610f4a82826008610f61565b809250819350505096509650965096509650969050565b6000807f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780610f8c57fe5b8386097f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780610fb757fe5b84860991509150935093915050565b60008060006110737f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780610ff657fe5b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478061101e57fe5b8788097f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478061104957fe5b878809087f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47611111565b90507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478061109d57fe5b8186097f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47806110c857fe5b8286097f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd470392509250509250929050565b6000818061110357fe5b838303850890509392505050565b60008060405160208152602080820152602060408201528460608201526002840360808201528360a082015260208160c08360056107d05a03fa915080519250508061115c57600080fd5b5092915050565b6040518060c0016040528060069060208202803883398082019150509050509056fea2646970667358221220b79e14def0f550aaa3b0fd17bda5f766eae505f9fb65561b62d1fc19f9722fc064736f6c63430006020033", - "sourceMap": "251:14924:10:-:0;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", - "deployedSourceMap": "251:14924:10:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4289:96;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1388:1488;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1388:1488:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3201:990;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;3201:990:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4289:96;4337:7;325:66;4357:20;;4289:96;:::o;1388:1488::-;1669:7;1691;1713;1735;1783:1;1774:5;:10;:24;;;;;1797:1;1788:5;:10;1774:24;:38;;;;;1811:1;1802:5;:10;1774:38;:52;;;;;1825:1;1816:5;:10;1774:52;1770:463;;;1858:1;1849:5;:10;:24;;;;;1872:1;1863:5;:10;1849:24;:38;;;;;1886:1;1877:5;:10;1849:38;:52;;;;;1900:1;1891:5;:10;1849:52;1843:142;;1930:38;1941:5;1948;1955;1962;1930:10;:38::i;:::-;1923:46;;;;1843:142;2007:5;2014;2021;2028;1999:35;;;;;;;;;;1770:463;2065:1;2056:5;:10;:24;;;;;2079:1;2070:5;:10;2056:24;:38;;;;;2093:1;2084:5;:10;2056:38;:52;;;;;2107:1;2098:5;:10;2056:52;2052:181;;;2132:38;2143:5;2150;2157;2164;2132:10;:38::i;:::-;2125:46;;;;2194:5;2201;2208;2215;2186:35;;;;;;;;;;2052:181;2252:38;2263:5;2270;2277;2284;2252:10;:38::i;:::-;2245:46;;;;2309:38;2320:5;2327;2334;2341;2309:10;:38::i;:::-;2302:46;;;;2361:21;;:::i;:::-;2385:254;2419:5;2439;2459;2479;2499:1;2515;2531:5;2551;2571;2591;2611:1;2627;2385:19;:254::i;:::-;2361:278;;2672:196;2704:3;665:1;2704:9;;;;;;;;;;;2732:3;706:1;2732:9;;;;;;;;;;;2760:3;747:1;2760:9;;;;;;;;;;;2788:3;788:1;2788:9;;;;;;;;;;;2816:3;829:1;2816:9;;;;;;;;;;;2844:3;870:1;2844:9;;;;;;;;;;;2672:13;:196::i;:::-;2652:216;;;;;;;;;1388:1488;;;;;;;;;;;;;;:::o;3201:990::-;3406:7;3428;3450;3472;3507:13;3523:1;3507:17;;3548:1;3539:5;:10;:24;;;;;3562:1;3553:5;:10;3539:24;:38;;;;;3576:1;3567:5;:10;3539:38;:52;;;;;3590:1;3581:5;:10;3539:52;3535:221;;;3616:1;3608:9;;3640:1;3632:9;;3664:1;3656:9;;3535:221;;;3705:38;3716:5;3723;3730;3737;3705:10;:38::i;:::-;3698:46;;;;3535:221;3768:21;;:::i;:::-;3792:162;3826:1;3842:5;3862;3882;3902;3922;3942:1;3792:19;:162::i;:::-;3768:186;;3987:196;4019:3;665:1;4019:9;;;;;;;;;;;4047:3;706:1;4047:9;;;;;;;;;;;4075:3;747:1;4075:9;;;;;;;;;;;4103:3;788:1;4103:9;;;;;;;;;;;4131:3;829:1;4131:9;;;;;;;;;;;4159:3;870:1;4159:9;;;;;;;;;;;3987:13;:196::i;:::-;3967:216;;;;;;;;;;3201:990;;;;;;;;;;:::o;6535:537::-;6669:4;6686:11;6708;6730:12;6753;6789:23;6797:2;6801;6805;6809;6789:7;:23::i;:::-;6776:36;;;;;;;;6838:23;6846:2;6850;6854;6858;6838:7;:23::i;:::-;6823:38;;;;;;;;6887:27;6895:4;6901;6907:2;6911;6887:7;:27::i;:::-;6872:42;;;;;;;;6938:29;6946:3;6951;6956:4;6962;6938:7;:29::i;:::-;6925:42;;;;;;;;6991:35;6999:3;7004;443:66;561:64;6991:7;:35::i;:::-;6978:48;;;;;;;;7051:1;7044:3;:8;:20;;;;;7063:1;7056:3;:8;7044:20;7037:27;;;;;;6535:537;;;;;;:::o;8423:3748::-;8770:21;;:::i;:::-;8817:1;8808:5;:10;:24;;;;;8831:1;8822:5;:10;8808:24;8804:626;;;9036:5;9043;9050;9057;9064;9071;8868:3;665:1;8868:9;;;;;;;;;;8896:3;706:1;8896:9;;;;;;;;;;8924:3;747:1;8924:9;;;;;;;;;;8952:3;788:1;8952:9;;;;;;;;;;8980:3;829:1;8980:9;;;;;;;;;;9008:3;870:1;9008:9;;;;;;;;;;8849:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9099:3;9092:10;;;;8804:626;9133:1;9124:5;:10;:24;;;;;9147:1;9138:5;:10;9124:24;9120:310;;;9352:5;9359;9366;9373;9380;9387;9184:3;665:1;9184:9;;;;;;;;;;9212:3;706:1;9212:9;;;;;;;;;;9240:3;747:1;9240:9;;;;;;;;;;9268:3;788:1;9268:9;;;;;;;;;;9296:3;829:1;9296:9;;;;;;;;;;9324:3;870:1;9324:9;;;;;;;;;;9165:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9415:3;9408:10;;;;9120:310;9459:35;9467:5;9474;9481;9488;9459:7;:35::i;:::-;9442:52;;;;;;;;9546:35;9554:5;9561;9568;9575;9546:7;:35::i;:::-;9522:3;747:1;9522:9;;;;;;;;;;9533:3;788:1;9533:9;;;;;;;;;;9521:60;;;;;;;;;;9625:35;9633:5;9640;9647;9654;9625:7;:35::i;:::-;9608:52;;;;;;;;9712:35;9720:5;9727;9734;9741;9712:7;:35::i;:::-;9688:3;829:1;9688:9;;;;;;;;;;9699:3;870:1;9699:9;;;;;;;;;;9687:60;;;;;;;;;;9789:3;829:1;9789:9;;;;;;;;;;;9780:5;:18;:40;;;;;9811:3;870:1;9811:9;;;;;;;;;;;9802:5;:18;9780:40;9776:849;;;9850:3;747:1;9850:9;;;;;;;;;;;9841:5;:18;:40;;;;;9872:3;788:1;9872:9;;;;;;;;;;;9863:5;:18;9841:40;9837:533;;;10116:209;10161:5;10189;10217;10245;10273;10301;10116:22;:209::i;:::-;9925:3;665:1;9925:9;;;;;;;;;;9957:3;706:1;9957:9;;;;;;;;;;9989:3;747:1;9989:9;;;;;;;;;;10021:3;788:1;10021:9;;;;;;;;;;10053:3;829:1;10053:9;;;;;;;;;;10085:3;870:1;10085:9;;;;;;;;;;9902:423;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10351:3;10344:10;;;;9837:533;10571:1;10574;10577;10580;10583;10586;10384:204;;;;;;;;;;;;;;;;;;10403:3;665:1;10403:9;;;;;;;;;;10431:3;706:1;10431:9;;;;;;;;;;10459:3;747:1;10459:9;;;;;;;;;;10487:3;788:1;10487:9;;;;;;;;;;10515:3;829:1;10515:9;;;;;;;;;;10543:3;870:1;10543:9;;;;;;;;;;10384:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10610:3;10603:10;;;;9776:849;10654:35;10662:5;10669;10676;10683;10654:7;:35::i;:::-;10637:52;;;;;;;;10732:43;10740:5;10747;10754:3;747:1;10754:9;;;;;;;;;;;10765:3;788:1;10765:9;;;;;;;;;;;10732:7;:43::i;:::-;10715:60;;;;;;;;10818:43;10826:5;10833;10840:3;829:1;10840:9;;;;;;;;;;;10851:3;870:1;10851:9;;;;;;;;;;;10818:7;:43::i;:::-;10801:60;;;;;;;;10904:35;10912:5;10919;10926;10933;10904:7;:35::i;:::-;10887:52;;;;;;;;10988:43;10996:5;11003;11010:3;829:1;11010:9;;;;;;;;;;;11021:3;870:1;11021:9;;;;;;;;;;;10988:7;:43::i;:::-;10971:60;;;;;;;;11098:35;11106:5;11113;11120;11127;11098:7;:35::i;:::-;11081:52;;;;;;;;11196:35;11204:5;11211;11218;11225;11196:7;:35::i;:::-;11172:3;829:1;11172:9;;;;;;;;;;11183:3;870:1;11183:9;;;;;;;;;;11171:60;;;;;;;;;;11281:35;11289:5;11296;11303;11310;11281:7;:35::i;:::-;11264:52;;;;;;;;11353:35;11361:5;11368;11375;11382;11353:7;:35::i;:::-;11336:52;;;;;;;;11429:35;11437:5;11444;11451;11458;11429:7;:35::i;:::-;11412:52;;;;;;;;11515:24;11523:5;11530;11537:1;11515:7;:24::i;:::-;11498:41;;;;;;;;11593:35;11601:5;11608;11615;11622;11593:7;:35::i;:::-;11576:52;;;;;;;;11716:35;11724:5;11731;11738;11745;11716:7;:35::i;:::-;11692:3;665:1;11692:9;;;;;;;;;;11703:3;706:1;11703:9;;;;;;;;;;11691:60;;;;;;;;;;11795:35;11803:5;11810;11817;11824;11795:7;:35::i;:::-;11778:52;;;;;;;;11884:35;11892:5;11899;11906;11913;11884:7;:35::i;:::-;11867:52;;;;;;;;11979:43;11987:5;11994;12001:3;747:1;12001:9;;;;;;;;;;;12012:3;788:1;12012:9;;;;;;;;;;;11979:7;:43::i;:::-;11962:60;;;;;;;;12074:35;12082:5;12089;12096;12103;12074:7;:35::i;:::-;12050:3;747:1;12050:9;;;;;;;;;;12061:3;788:1;12061:9;;;;;;;;;;12049:60;;;;;;;;;;8423:3748;;;;;;;;;;;;;;;:::o;7832:583::-;8070:13;8098;8126;8154;8195;8219;8260:21;8268:5;8275;8260:7;:21::i;:::-;8243:38;;;;;;;;8309:35;8317:5;8324;8331;8338;8309:7;:35::i;:::-;8292:52;;;;;;;;8372:35;8380:5;8387;8394;8401;8372:7;:35::i;:::-;8355:52;;;;;;;;7832:583;;;;;;;;;;;;;:::o;14143:1029::-;14366:21;;:::i;:::-;14400:765;14412:1;14407;:6;14400:765;;14445:1;14439;14435;:5;14434:12;14430:457;;14473:398;14515:3;665:1;14515:9;;;;;;;;;;;14547:3;706:1;14547:9;;;;;;;;;;;14579:3;747:1;14579:9;;;;;;;;;;;14611:3;788:1;14611:9;;;;;;;;;;;14643:3;829:1;14643:9;;;;;;;;;;;14675:3;870:1;14675:9;;;;;;;;;;;14707:5;14735;14763;14791;14819;14847;14473:19;:398::i;:::-;14467:404;;14430:457;14946:181;14987:5;15011;15035;15059;15083;15107;14946:22;:181::i;:::-;14901:226;;;;;;;;;;;;;;;;;;;;;;;;15152:1;15148;:5;;;;;;15144:9;;14400:765;;;14143:1029;;;;;;;;;:::o;4561:514::-;4692:7;4701;4743:149;325:66;4768:29;;;;;4779:2;4775;4768:29;325:66;4816:29;;;;;4827:2;4823;4816:29;325:66;4743:6;:149::i;:::-;325:66;4907:149;;;;;325:66;4980:29;;;;;4991:2;4987;4980:29;325:66;4932:29;;;;;4943:2;4939;4932:29;4907:149;4721:346;;;;4561:514;;;;;;;:::o;5549:243::-;5680:10;5692;5723:29;5730:2;5734;325:66;5723:6;:29::i;:::-;5754;5761:2;5765;325:66;5754:6;:29::i;:::-;5715:69;;;;5549:243;;;;;;;:::o;12179:1956::-;12426:13;12454;12482;12510;12538;12566;12624:24;12632:5;12639;12646:1;12624:7;:24::i;:::-;12607:41;;;;;;;;12685:35;12693:5;12700;12707;12714;12685:7;:35::i;:::-;12668:52;;;;;;;;12765:35;12773:5;12780;12787;12794;12765:7;:35::i;:::-;12748:52;;;;;;;;12841:35;12849:5;12856;12863;12870;12841:7;:35::i;:::-;12824:52;;;;;;;;12913:35;12921:5;12928;12935;12942;12913:7;:35::i;:::-;12896:52;;;;;;;;12993:35;13001:5;13008;13015;13022;12993:7;:35::i;:::-;12976:52;;;;;;;;13065:24;13073:5;13080;13087:1;13065:7;:24::i;:::-;13048:41;;;;;;;;13126:35;13134:5;13141;13148;13155;13126:7;:35::i;:::-;13109:52;;;;;;;;13210:35;13218:5;13225;13232;13239;13210:7;:35::i;:::-;13193:52;;;;;;;;13294:24;13302:5;13309;13316:1;13294:7;:24::i;:::-;13277:41;;;;;;;;13355:35;13363:5;13370;13377;13384;13355:7;:35::i;:::-;13338:52;;;;;;;;13431:35;13439:5;13446;13453;13460;13431:7;:35::i;:::-;13414:52;;;;;;;;13513:24;13521:5;13528;13535:1;13513:7;:24::i;:::-;13496:41;;;;;;;;13574:35;13582:5;13589;13596;13603;13574:7;:35::i;:::-;13557:52;;;;;;;;13650:35;13658:5;13665;13672;13679;13650:7;:35::i;:::-;13633:52;;;;;;;;13738:35;13746:5;13753;13760;13767;13738:7;:35::i;:::-;13721:52;;;;;;;;13851:24;13859:5;13866;13873:1;13851:7;:24::i;:::-;13834:41;;;;;;;;13912:35;13920:5;13927;13934;13941;13912:7;:35::i;:::-;13895:52;;;;;;;;13995:35;14003:5;14010;14017;14024;13995:7;:35::i;:::-;13978:52;;;;;;;;14075:24;14083:5;14090;14097:1;14075:7;:24::i;:::-;14058:41;;;;;;;;12179:1956;;;;;;;;;;;;;:::o;5083:213::-;5192:7;5201;325:66;5229:28;;;;;5240:1;5236:2;5229:28;325:66;5259:28;;;;;5270:1;5266:2;5259:28;5221:67;;;;5083:213;;;;;;:::o;6043:484::-;6132:7;6141;6166:11;6180:206;325:66;6202:145;;;;;325:66;6273:27;;;;;6283:1;6280;6273:27;325:66;6227:27;;;;;6237:1;6234;6227:27;6202:145;325:66;6180:7;:206::i;:::-;6166:220;;325:66;6419:29;;;;;6429:3;6426:1;6419:29;325:66;6479:29;;;;;6489:3;6486:1;6479:29;325:66;6463:45;6397:122;;;;;6043:484;;;;;:::o;4393:160::-;4499:7;4543:1;4526:19;;;;;4540:1;4536;:5;4533:1;4526:19;4519:26;;4393:160;;;;;:::o;7080:744::-;7169:14;7201:12;7269:4;7263:11;7304:4;7295:7;7288:21;7350:4;7343;7334:7;7330:18;7323:32;7396:4;7389;7380:7;7376:18;7369:32;7442:1;7435:4;7426:7;7422:18;7415:29;7492:1;7489;7485:9;7478:4;7469:7;7465:18;7458:37;7536:1;7529:4;7520:7;7516:18;7509:29;7722:4;7696:7;7673:4;7647:7;7627:1;7603:4;7596:5;7592:16;7563:178;7552:189;;7771:7;7765:14;7755:24;;7233:557;7808:7;7800:16;;;;;;7080:744;;;;;:::o;251:14924::-;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;251:14924:10;;;;:::o", - "source": "// This file is LGPL3 Licensed\r\npragma solidity ^0.6.1;\r\n\r\n/**\r\n * @title Elliptic curve operations on twist points for alt_bn128\r\n * @author Mustafa Al-Bassam (mus@musalbas.com)\r\n * @dev Homepage: https://github.com/musalbas/solidity-BN256G2\r\n */\r\n\r\nlibrary BN256G2 {\r\n uint256\r\n internal constant FIELD_MODULUS = 0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47;\r\n uint256\r\n internal constant TWISTBX = 0x2b149d40ceb8aaae81be18991be06ac3b5b4c5e559dbefa33267e6dc24a138e5;\r\n uint256\r\n internal constant TWISTBY = 0x9713b03af0fed4cd2cafadeed8fdf4a74fa084e52d1852e4a2bd0685c315d2;\r\n uint256 internal constant PTXX = 0;\r\n uint256 internal constant PTXY = 1;\r\n uint256 internal constant PTYX = 2;\r\n uint256 internal constant PTYY = 3;\r\n uint256 internal constant PTZX = 4;\r\n uint256 internal constant PTZY = 5;\r\n\r\n /**\r\n * @notice Add two twist points\r\n * @param pt1xx Coefficient 1 of x on point 1\r\n * @param pt1xy Coefficient 2 of x on point 1\r\n * @param pt1yx Coefficient 1 of y on point 1\r\n * @param pt1yy Coefficient 2 of y on point 1\r\n * @param pt2xx Coefficient 1 of x on point 2\r\n * @param pt2xy Coefficient 2 of x on point 2\r\n * @param pt2yx Coefficient 1 of y on point 2\r\n * @param pt2yy Coefficient 2 of y on point 2\r\n * @return (pt3xx, pt3xy, pt3yx, pt3yy)\r\n */\r\n function ECTwistAdd(\r\n uint256 pt1xx,\r\n uint256 pt1xy,\r\n uint256 pt1yx,\r\n uint256 pt1yy,\r\n uint256 pt2xx,\r\n uint256 pt2xy,\r\n uint256 pt2yx,\r\n uint256 pt2yy\r\n )\r\n public\r\n view\r\n returns (\r\n uint256,\r\n uint256,\r\n uint256,\r\n uint256\r\n )\r\n {\r\n if (pt1xx == 0 && pt1xy == 0 && pt1yx == 0 && pt1yy == 0) {\r\n if (!(pt2xx == 0 && pt2xy == 0 && pt2yx == 0 && pt2yy == 0)) {\r\n assert(_isOnCurve(pt2xx, pt2xy, pt2yx, pt2yy));\r\n }\r\n return (pt2xx, pt2xy, pt2yx, pt2yy);\r\n } else if (pt2xx == 0 && pt2xy == 0 && pt2yx == 0 && pt2yy == 0) {\r\n assert(_isOnCurve(pt1xx, pt1xy, pt1yx, pt1yy));\r\n return (pt1xx, pt1xy, pt1yx, pt1yy);\r\n }\r\n\r\n assert(_isOnCurve(pt1xx, pt1xy, pt1yx, pt1yy));\r\n assert(_isOnCurve(pt2xx, pt2xy, pt2yx, pt2yy));\r\n\r\n uint256[6] memory pt3 = _ECTwistAddJacobian(\r\n pt1xx,\r\n pt1xy,\r\n pt1yx,\r\n pt1yy,\r\n 1,\r\n 0,\r\n pt2xx,\r\n pt2xy,\r\n pt2yx,\r\n pt2yy,\r\n 1,\r\n 0\r\n );\r\n\r\n return\r\n _fromJacobian(\r\n pt3[PTXX],\r\n pt3[PTXY],\r\n pt3[PTYX],\r\n pt3[PTYY],\r\n pt3[PTZX],\r\n pt3[PTZY]\r\n );\r\n }\r\n\r\n /**\r\n * @notice Multiply a twist point by a scalar\r\n * @param s Scalar to multiply by\r\n * @param pt1xx Coefficient 1 of x\r\n * @param pt1xy Coefficient 2 of x\r\n * @param pt1yx Coefficient 1 of y\r\n * @param pt1yy Coefficient 2 of y\r\n * @return (pt2xx, pt2xy, pt2yx, pt2yy)\r\n */\r\n function ECTwistMul(\r\n uint256 s,\r\n uint256 pt1xx,\r\n uint256 pt1xy,\r\n uint256 pt1yx,\r\n uint256 pt1yy\r\n )\r\n public\r\n view\r\n returns (\r\n uint256,\r\n uint256,\r\n uint256,\r\n uint256\r\n )\r\n {\r\n uint256 pt1zx = 1;\r\n if (pt1xx == 0 && pt1xy == 0 && pt1yx == 0 && pt1yy == 0) {\r\n pt1xx = 1;\r\n pt1yx = 1;\r\n pt1zx = 0;\r\n } else {\r\n assert(_isOnCurve(pt1xx, pt1xy, pt1yx, pt1yy));\r\n }\r\n\r\n uint256[6] memory pt2 = _ECTwistMulJacobian(\r\n s,\r\n pt1xx,\r\n pt1xy,\r\n pt1yx,\r\n pt1yy,\r\n pt1zx,\r\n 0\r\n );\r\n\r\n return\r\n _fromJacobian(\r\n pt2[PTXX],\r\n pt2[PTXY],\r\n pt2[PTYX],\r\n pt2[PTYY],\r\n pt2[PTZX],\r\n pt2[PTZY]\r\n );\r\n }\r\n\r\n /**\r\n * @notice Get the field modulus\r\n * @return The field modulus\r\n */\r\n function GetFieldModulus() public pure returns (uint256) {\r\n return FIELD_MODULUS;\r\n }\r\n\r\n function submod(\r\n uint256 a,\r\n uint256 b,\r\n uint256 n\r\n ) internal pure returns (uint256) {\r\n return addmod(a, n - b, n);\r\n }\r\n\r\n function _FQ2Mul(\r\n uint256 xx,\r\n uint256 xy,\r\n uint256 yx,\r\n uint256 yy\r\n ) internal pure returns (uint256, uint256) {\r\n return (\r\n submod(\r\n mulmod(xx, yx, FIELD_MODULUS),\r\n mulmod(xy, yy, FIELD_MODULUS),\r\n FIELD_MODULUS\r\n ),\r\n addmod(\r\n mulmod(xx, yy, FIELD_MODULUS),\r\n mulmod(xy, yx, FIELD_MODULUS),\r\n FIELD_MODULUS\r\n )\r\n );\r\n }\r\n\r\n function _FQ2Muc(\r\n uint256 xx,\r\n uint256 xy,\r\n uint256 c\r\n ) internal pure returns (uint256, uint256) {\r\n return (mulmod(xx, c, FIELD_MODULUS), mulmod(xy, c, FIELD_MODULUS));\r\n }\r\n\r\n function _FQ2Add(\r\n uint256 xx,\r\n uint256 xy,\r\n uint256 yx,\r\n uint256 yy\r\n ) internal pure returns (uint256, uint256) {\r\n return (addmod(xx, yx, FIELD_MODULUS), addmod(xy, yy, FIELD_MODULUS));\r\n }\r\n\r\n function _FQ2Sub(\r\n uint256 xx,\r\n uint256 xy,\r\n uint256 yx,\r\n uint256 yy\r\n ) internal pure returns (uint256 rx, uint256 ry) {\r\n return (submod(xx, yx, FIELD_MODULUS), submod(xy, yy, FIELD_MODULUS));\r\n }\r\n\r\n function _FQ2Div(\r\n uint256 xx,\r\n uint256 xy,\r\n uint256 yx,\r\n uint256 yy\r\n ) internal view returns (uint256, uint256) {\r\n (yx, yy) = _FQ2Inv(yx, yy);\r\n return _FQ2Mul(xx, xy, yx, yy);\r\n }\r\n\r\n function _FQ2Inv(uint256 x, uint256 y)\r\n internal\r\n view\r\n returns (uint256, uint256)\r\n {\r\n uint256 inv = _modInv(\r\n addmod(\r\n mulmod(y, y, FIELD_MODULUS),\r\n mulmod(x, x, FIELD_MODULUS),\r\n FIELD_MODULUS\r\n ),\r\n FIELD_MODULUS\r\n );\r\n return (\r\n mulmod(x, inv, FIELD_MODULUS),\r\n FIELD_MODULUS - mulmod(y, inv, FIELD_MODULUS)\r\n );\r\n }\r\n\r\n function _isOnCurve(\r\n uint256 xx,\r\n uint256 xy,\r\n uint256 yx,\r\n uint256 yy\r\n ) internal pure returns (bool) {\r\n uint256 yyx;\r\n uint256 yyy;\r\n uint256 xxxx;\r\n uint256 xxxy;\r\n (yyx, yyy) = _FQ2Mul(yx, yy, yx, yy);\r\n (xxxx, xxxy) = _FQ2Mul(xx, xy, xx, xy);\r\n (xxxx, xxxy) = _FQ2Mul(xxxx, xxxy, xx, xy);\r\n (yyx, yyy) = _FQ2Sub(yyx, yyy, xxxx, xxxy);\r\n (yyx, yyy) = _FQ2Sub(yyx, yyy, TWISTBX, TWISTBY);\r\n return yyx == 0 && yyy == 0;\r\n }\r\n\r\n function _modInv(uint256 a, uint256 n)\r\n internal\r\n view\r\n returns (uint256 result)\r\n {\r\n bool success;\r\n assembly {\r\n let freemem := mload(0x40)\r\n mstore(freemem, 0x20)\r\n mstore(add(freemem, 0x20), 0x20)\r\n mstore(add(freemem, 0x40), 0x20)\r\n mstore(add(freemem, 0x60), a)\r\n mstore(add(freemem, 0x80), sub(n, 2))\r\n mstore(add(freemem, 0xA0), n)\r\n success := staticcall(\r\n sub(gas(), 2000),\r\n 5,\r\n freemem,\r\n 0xC0,\r\n freemem,\r\n 0x20\r\n )\r\n result := mload(freemem)\r\n }\r\n require(success);\r\n }\r\n\r\n function _fromJacobian(\r\n uint256 pt1xx,\r\n uint256 pt1xy,\r\n uint256 pt1yx,\r\n uint256 pt1yy,\r\n uint256 pt1zx,\r\n uint256 pt1zy\r\n )\r\n internal\r\n view\r\n returns (\r\n uint256 pt2xx,\r\n uint256 pt2xy,\r\n uint256 pt2yx,\r\n uint256 pt2yy\r\n )\r\n {\r\n uint256 invzx;\r\n uint256 invzy;\r\n (invzx, invzy) = _FQ2Inv(pt1zx, pt1zy);\r\n (pt2xx, pt2xy) = _FQ2Mul(pt1xx, pt1xy, invzx, invzy);\r\n (pt2yx, pt2yy) = _FQ2Mul(pt1yx, pt1yy, invzx, invzy);\r\n }\r\n\r\n function _ECTwistAddJacobian(\r\n uint256 pt1xx,\r\n uint256 pt1xy,\r\n uint256 pt1yx,\r\n uint256 pt1yy,\r\n uint256 pt1zx,\r\n uint256 pt1zy,\r\n uint256 pt2xx,\r\n uint256 pt2xy,\r\n uint256 pt2yx,\r\n uint256 pt2yy,\r\n uint256 pt2zx,\r\n uint256 pt2zy\r\n ) internal pure returns (uint256[6] memory pt3) {\r\n if (pt1zx == 0 && pt1zy == 0) {\r\n (\r\n pt3[PTXX],\r\n pt3[PTXY],\r\n pt3[PTYX],\r\n pt3[PTYY],\r\n pt3[PTZX],\r\n pt3[PTZY]\r\n ) = (pt2xx, pt2xy, pt2yx, pt2yy, pt2zx, pt2zy);\r\n return pt3;\r\n } else if (pt2zx == 0 && pt2zy == 0) {\r\n (\r\n pt3[PTXX],\r\n pt3[PTXY],\r\n pt3[PTYX],\r\n pt3[PTYY],\r\n pt3[PTZX],\r\n pt3[PTZY]\r\n ) = (pt1xx, pt1xy, pt1yx, pt1yy, pt1zx, pt1zy);\r\n return pt3;\r\n }\r\n\r\n (pt2yx, pt2yy) = _FQ2Mul(pt2yx, pt2yy, pt1zx, pt1zy); // U1 = y2 * z1\r\n (pt3[PTYX], pt3[PTYY]) = _FQ2Mul(pt1yx, pt1yy, pt2zx, pt2zy); // U2 = y1 * z2\r\n (pt2xx, pt2xy) = _FQ2Mul(pt2xx, pt2xy, pt1zx, pt1zy); // V1 = x2 * z1\r\n (pt3[PTZX], pt3[PTZY]) = _FQ2Mul(pt1xx, pt1xy, pt2zx, pt2zy); // V2 = x1 * z2\r\n\r\n if (pt2xx == pt3[PTZX] && pt2xy == pt3[PTZY]) {\r\n if (pt2yx == pt3[PTYX] && pt2yy == pt3[PTYY]) {\r\n (\r\n pt3[PTXX],\r\n pt3[PTXY],\r\n pt3[PTYX],\r\n pt3[PTYY],\r\n pt3[PTZX],\r\n pt3[PTZY]\r\n ) = _ECTwistDoubleJacobian(\r\n pt1xx,\r\n pt1xy,\r\n pt1yx,\r\n pt1yy,\r\n pt1zx,\r\n pt1zy\r\n );\r\n return pt3;\r\n }\r\n (\r\n pt3[PTXX],\r\n pt3[PTXY],\r\n pt3[PTYX],\r\n pt3[PTYY],\r\n pt3[PTZX],\r\n pt3[PTZY]\r\n ) = (1, 0, 1, 0, 0, 0);\r\n return pt3;\r\n }\r\n\r\n (pt2zx, pt2zy) = _FQ2Mul(pt1zx, pt1zy, pt2zx, pt2zy); // W = z1 * z2\r\n (pt1xx, pt1xy) = _FQ2Sub(pt2yx, pt2yy, pt3[PTYX], pt3[PTYY]); // U = U1 - U2\r\n (pt1yx, pt1yy) = _FQ2Sub(pt2xx, pt2xy, pt3[PTZX], pt3[PTZY]); // V = V1 - V2\r\n (pt1zx, pt1zy) = _FQ2Mul(pt1yx, pt1yy, pt1yx, pt1yy); // V_squared = V * V\r\n (pt2yx, pt2yy) = _FQ2Mul(pt1zx, pt1zy, pt3[PTZX], pt3[PTZY]); // V_squared_times_V2 = V_squared * V2\r\n (pt1zx, pt1zy) = _FQ2Mul(pt1zx, pt1zy, pt1yx, pt1yy); // V_cubed = V * V_squared\r\n (pt3[PTZX], pt3[PTZY]) = _FQ2Mul(pt1zx, pt1zy, pt2zx, pt2zy); // newz = V_cubed * W\r\n (pt2xx, pt2xy) = _FQ2Mul(pt1xx, pt1xy, pt1xx, pt1xy); // U * U\r\n (pt2xx, pt2xy) = _FQ2Mul(pt2xx, pt2xy, pt2zx, pt2zy); // U * U * W\r\n (pt2xx, pt2xy) = _FQ2Sub(pt2xx, pt2xy, pt1zx, pt1zy); // U * U * W - V_cubed\r\n (pt2zx, pt2zy) = _FQ2Muc(pt2yx, pt2yy, 2); // 2 * V_squared_times_V2\r\n (pt2xx, pt2xy) = _FQ2Sub(pt2xx, pt2xy, pt2zx, pt2zy); // A = U * U * W - V_cubed - 2 * V_squared_times_V2\r\n (pt3[PTXX], pt3[PTXY]) = _FQ2Mul(pt1yx, pt1yy, pt2xx, pt2xy); // newx = V * A\r\n (pt1yx, pt1yy) = _FQ2Sub(pt2yx, pt2yy, pt2xx, pt2xy); // V_squared_times_V2 - A\r\n (pt1yx, pt1yy) = _FQ2Mul(pt1xx, pt1xy, pt1yx, pt1yy); // U * (V_squared_times_V2 - A)\r\n (pt1xx, pt1xy) = _FQ2Mul(pt1zx, pt1zy, pt3[PTYX], pt3[PTYY]); // V_cubed * U2\r\n (pt3[PTYX], pt3[PTYY]) = _FQ2Sub(pt1yx, pt1yy, pt1xx, pt1xy); // newy = U * (V_squared_times_V2 - A) - V_cubed * U2\r\n }\r\n\r\n function _ECTwistDoubleJacobian(\r\n uint256 pt1xx,\r\n uint256 pt1xy,\r\n uint256 pt1yx,\r\n uint256 pt1yy,\r\n uint256 pt1zx,\r\n uint256 pt1zy\r\n )\r\n internal\r\n pure\r\n returns (\r\n uint256 pt2xx,\r\n uint256 pt2xy,\r\n uint256 pt2yx,\r\n uint256 pt2yy,\r\n uint256 pt2zx,\r\n uint256 pt2zy\r\n )\r\n {\r\n (pt2xx, pt2xy) = _FQ2Muc(pt1xx, pt1xy, 3); // 3 * x\r\n (pt2xx, pt2xy) = _FQ2Mul(pt2xx, pt2xy, pt1xx, pt1xy); // W = 3 * x * x\r\n (pt1zx, pt1zy) = _FQ2Mul(pt1yx, pt1yy, pt1zx, pt1zy); // S = y * z\r\n (pt2yx, pt2yy) = _FQ2Mul(pt1xx, pt1xy, pt1yx, pt1yy); // x * y\r\n (pt2yx, pt2yy) = _FQ2Mul(pt2yx, pt2yy, pt1zx, pt1zy); // B = x * y * S\r\n (pt1xx, pt1xy) = _FQ2Mul(pt2xx, pt2xy, pt2xx, pt2xy); // W * W\r\n (pt2zx, pt2zy) = _FQ2Muc(pt2yx, pt2yy, 8); // 8 * B\r\n (pt1xx, pt1xy) = _FQ2Sub(pt1xx, pt1xy, pt2zx, pt2zy); // H = W * W - 8 * B\r\n (pt2zx, pt2zy) = _FQ2Mul(pt1zx, pt1zy, pt1zx, pt1zy); // S_squared = S * S\r\n (pt2yx, pt2yy) = _FQ2Muc(pt2yx, pt2yy, 4); // 4 * B\r\n (pt2yx, pt2yy) = _FQ2Sub(pt2yx, pt2yy, pt1xx, pt1xy); // 4 * B - H\r\n (pt2yx, pt2yy) = _FQ2Mul(pt2yx, pt2yy, pt2xx, pt2xy); // W * (4 * B - H)\r\n (pt2xx, pt2xy) = _FQ2Muc(pt1yx, pt1yy, 8); // 8 * y\r\n (pt2xx, pt2xy) = _FQ2Mul(pt2xx, pt2xy, pt1yx, pt1yy); // 8 * y * y\r\n (pt2xx, pt2xy) = _FQ2Mul(pt2xx, pt2xy, pt2zx, pt2zy); // 8 * y * y * S_squared\r\n (pt2yx, pt2yy) = _FQ2Sub(pt2yx, pt2yy, pt2xx, pt2xy); // newy = W * (4 * B - H) - 8 * y * y * S_squared\r\n (pt2xx, pt2xy) = _FQ2Muc(pt1xx, pt1xy, 2); // 2 * H\r\n (pt2xx, pt2xy) = _FQ2Mul(pt2xx, pt2xy, pt1zx, pt1zy); // newx = 2 * H * S\r\n (pt2zx, pt2zy) = _FQ2Mul(pt1zx, pt1zy, pt2zx, pt2zy); // S * S_squared\r\n (pt2zx, pt2zy) = _FQ2Muc(pt2zx, pt2zy, 8); // newz = 8 * S * S_squared\r\n }\r\n\r\n function _ECTwistMulJacobian(\r\n uint256 d,\r\n uint256 pt1xx,\r\n uint256 pt1xy,\r\n uint256 pt1yx,\r\n uint256 pt1yy,\r\n uint256 pt1zx,\r\n uint256 pt1zy\r\n ) internal pure returns (uint256[6] memory pt2) {\r\n while (d != 0) {\r\n if ((d & 1) != 0) {\r\n pt2 = _ECTwistAddJacobian(\r\n pt2[PTXX],\r\n pt2[PTXY],\r\n pt2[PTYX],\r\n pt2[PTYY],\r\n pt2[PTZX],\r\n pt2[PTZY],\r\n pt1xx,\r\n pt1xy,\r\n pt1yx,\r\n pt1yy,\r\n pt1zx,\r\n pt1zy\r\n );\r\n }\r\n (pt1xx, pt1xy, pt1yx, pt1yy, pt1zx, pt1zy) = _ECTwistDoubleJacobian(\r\n pt1xx,\r\n pt1xy,\r\n pt1yx,\r\n pt1yy,\r\n pt1zx,\r\n pt1zy\r\n );\r\n\r\n d = d / 2;\r\n }\r\n }\r\n}\r\n// This file is MIT Licensed.\r\n//\r\n// Copyright 2017 Christian Reitwiessner\r\n// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\r\n// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\r\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\npragma solidity ^0.6.1;\r\n\r\nlibrary Pairing {\r\n struct G1Point {\r\n uint256 X;\r\n uint256 Y;\r\n }\r\n // Encoding of field elements is: X[0] * z + X[1]\r\n struct G2Point {\r\n uint256[2] X;\r\n uint256[2] Y;\r\n }\r\n\r\n /// @return the generator of G1\r\n function P1() internal pure returns (G1Point memory) {\r\n return G1Point(1, 2);\r\n }\r\n\r\n /// @return the generator of G2\r\n function P2() internal pure returns (G2Point memory) {\r\n return\r\n G2Point(\r\n [\r\n 11559732032986387107991004021392285783925812861821192530917403151452391805634,\r\n 10857046999023057135944570762232829481370756359578518086990519993285655852781\r\n ],\r\n [\r\n 4082367875863433681332203403145435568316851327593401208105741076214120093531,\r\n 8495653923123431417604973247489272438418190587263600148770280649306958101930\r\n ]\r\n );\r\n }\r\n\r\n /// @return the negation of p, i.e. p.addition(p.negate()) should be zero.\r\n function negate(G1Point memory p) internal pure returns (G1Point memory) {\r\n // The prime q in the base field F_q for G1\r\n\r\n uint256 q\r\n = 21888242871839275222246405745257275088696311157297823662689037894645226208583;\r\n if (p.X == 0 && p.Y == 0) return G1Point(0, 0);\r\n return G1Point(p.X, q - (p.Y % q));\r\n }\r\n\r\n /// @return r the sum of two points of G1\r\n function addition(G1Point memory p1, G1Point memory p2)\r\n internal\r\n view\r\n returns (G1Point memory r)\r\n {\r\n uint256[4] memory input;\r\n input[0] = p1.X;\r\n input[1] = p1.Y;\r\n input[2] = p2.X;\r\n input[3] = p2.Y;\r\n bool success;\r\n assembly {\r\n success := staticcall(sub(gas(), 2000), 6, input, 0xc0, r, 0x60)\r\n // Use \"invalid\" to make gas estimation work\r\n switch success\r\n case 0 {\r\n invalid()\r\n }\r\n }\r\n require(success);\r\n }\r\n\r\n /// @return r the sum of two points of G2\r\n function addition(G2Point memory p1, G2Point memory p2)\r\n internal\r\n view\r\n returns (G2Point memory r)\r\n {\r\n (r.X[1], r.X[0], r.Y[1], r.Y[0]) = BN256G2.ECTwistAdd(\r\n p1.X[1],\r\n p1.X[0],\r\n p1.Y[1],\r\n p1.Y[0],\r\n p2.X[1],\r\n p2.X[0],\r\n p2.Y[1],\r\n p2.Y[0]\r\n );\r\n }\r\n\r\n /// @return r the product of a point on G1 and a scalar, i.e.\r\n /// p == p.scalar_mul(1) and p.addition(p) == p.scalar_mul(2) for all points p.\r\n function scalar_mul(G1Point memory p, uint256 s)\r\n internal\r\n view\r\n returns (G1Point memory r)\r\n {\r\n uint256[3] memory input;\r\n input[0] = p.X;\r\n input[1] = p.Y;\r\n input[2] = s;\r\n bool success;\r\n assembly {\r\n success := staticcall(sub(gas(), 2000), 7, input, 0x80, r, 0x60)\r\n // Use \"invalid\" to make gas estimation work\r\n switch success\r\n case 0 {\r\n invalid()\r\n }\r\n }\r\n require(success);\r\n }\r\n\r\n /// @return the result of computing the pairing check\r\n /// e(p1[0], p2[0]) * .... * e(p1[n], p2[n]) == 1\r\n /// For example pairing([P1(), P1().negate()], [P2(), P2()]) should\r\n /// return true.\r\n function pairing(G1Point[] memory p1, G2Point[] memory p2)\r\n internal\r\n view\r\n returns (bool)\r\n {\r\n require(p1.length == p2.length);\r\n uint256 elements = p1.length;\r\n uint256 inputSize = elements * 6;\r\n uint256[] memory input = new uint256[](inputSize);\r\n for (uint256 i = 0; i < elements; i++) {\r\n input[i * 6 + 0] = p1[i].X;\r\n input[i * 6 + 1] = p1[i].Y;\r\n input[i * 6 + 2] = p2[i].X[0];\r\n input[i * 6 + 3] = p2[i].X[1];\r\n input[i * 6 + 4] = p2[i].Y[0];\r\n input[i * 6 + 5] = p2[i].Y[1];\r\n }\r\n uint256[1] memory out;\r\n bool success;\r\n assembly {\r\n success := staticcall(\r\n sub(gas(), 2000),\r\n 8,\r\n add(input, 0x20),\r\n mul(inputSize, 0x20),\r\n out,\r\n 0x20\r\n )\r\n // Use \"invalid\" to make gas estimation work\r\n switch success\r\n case 0 {\r\n invalid()\r\n }\r\n }\r\n require(success);\r\n return out[0] != 0;\r\n }\r\n\r\n /// Convenience method for a pairing check for two pairs.\r\n function pairingProd2(\r\n G1Point memory a1,\r\n G2Point memory a2,\r\n G1Point memory b1,\r\n G2Point memory b2\r\n ) internal view returns (bool) {\r\n G1Point[] memory p1 = new G1Point[](2);\r\n G2Point[] memory p2 = new G2Point[](2);\r\n p1[0] = a1;\r\n p1[1] = b1;\r\n p2[0] = a2;\r\n p2[1] = b2;\r\n return pairing(p1, p2);\r\n }\r\n\r\n /// Convenience method for a pairing check for three pairs.\r\n function pairingProd3(\r\n G1Point memory a1,\r\n G2Point memory a2,\r\n G1Point memory b1,\r\n G2Point memory b2,\r\n G1Point memory c1,\r\n G2Point memory c2\r\n ) internal view returns (bool) {\r\n G1Point[] memory p1 = new G1Point[](3);\r\n G2Point[] memory p2 = new G2Point[](3);\r\n p1[0] = a1;\r\n p1[1] = b1;\r\n p1[2] = c1;\r\n p2[0] = a2;\r\n p2[1] = b2;\r\n p2[2] = c2;\r\n return pairing(p1, p2);\r\n }\r\n\r\n /// Convenience method for a pairing check for four pairs.\r\n function pairingProd4(\r\n G1Point memory a1,\r\n G2Point memory a2,\r\n G1Point memory b1,\r\n G2Point memory b2,\r\n G1Point memory c1,\r\n G2Point memory c2,\r\n G1Point memory d1,\r\n G2Point memory d2\r\n ) internal view returns (bool) {\r\n G1Point[] memory p1 = new G1Point[](4);\r\n G2Point[] memory p2 = new G2Point[](4);\r\n p1[0] = a1;\r\n p1[1] = b1;\r\n p1[2] = c1;\r\n p1[3] = d1;\r\n p2[0] = a2;\r\n p2[1] = b2;\r\n p2[2] = c2;\r\n p2[3] = d2;\r\n return pairing(p1, p2);\r\n }\r\n}\r\n\r\ncontract SquareVerifier {\r\n using Pairing for *;\r\n struct VerifyingKey {\r\n Pairing.G1Point alpha;\r\n Pairing.G2Point beta;\r\n Pairing.G2Point gamma;\r\n Pairing.G2Point delta;\r\n Pairing.G1Point[] gamma_abc;\r\n }\r\n struct Proof {\r\n Pairing.G1Point a;\r\n Pairing.G2Point b;\r\n Pairing.G1Point c;\r\n }\r\n\r\n function verifyingKey() internal pure returns (VerifyingKey memory vk) {\r\n vk.alpha = Pairing.G1Point(\r\n uint256(\r\n 0x1936c240636390dc823e3a728e94b208eb53c6756d81da57ec3425e05d43ac10\r\n ),\r\n uint256(\r\n 0x2d70ff78e8216bf29d58923a686d9738278b8ce2fd822e197c85b09286d15566\r\n )\r\n );\r\n vk.beta = Pairing.G2Point(\r\n [\r\n uint256(\r\n 0x2b4daf047abe2e7f0b311118c1b963b63695dc0d769cea78849604434de055bf\r\n ),\r\n uint256(\r\n 0x29c13ecb6f33dbc4b3b8a02e2e255511ce4c26a8a2f299efcc94caf2de4fce00\r\n )\r\n ],\r\n [\r\n uint256(\r\n 0x1da9020008df7f549751f8a251af3b2dc4a2ad3e0870de54acaedd9fc1b47e17\r\n ),\r\n uint256(\r\n 0x25ea0d7e2b29de431b86a943db30dbf4d98f68df9ca8a9628d14d1591e817d90\r\n )\r\n ]\r\n );\r\n vk.gamma = Pairing.G2Point(\r\n [\r\n uint256(\r\n 0x011016e22ae045444f50fb80f246ec486c7e02af09132cd38c4fcf484983e4f2\r\n ),\r\n uint256(\r\n 0x00e83c788c2878d1d5eba3ed49b0d81e4c0487dedc3e4d1c2baab5833785b62f\r\n )\r\n ],\r\n [\r\n uint256(\r\n 0x05eb89e741ed5b5d611cebf92d1ed02cd6f3311089f0d400df7d9ced5a48fd41\r\n ),\r\n uint256(\r\n 0x132a90a3b0d369ccd66e2a5ba04a935e44d8ad5dca93a76bba592a578130a911\r\n )\r\n ]\r\n );\r\n vk.delta = Pairing.G2Point(\r\n [\r\n uint256(\r\n 0x065f6a3323a2abffd621fc263f348eb914904b68d5897729ae34a6b9d33f0852\r\n ),\r\n uint256(\r\n 0x0c3b60f59d3bd50328a04c0ff6d979199685d0526f89f6ac29d6174ce24707a2\r\n )\r\n ],\r\n [\r\n uint256(\r\n 0x26e7ebce2b44efef6b6315938e33f0a8ecc82dbad635c9efa681ed85bbb59982\r\n ),\r\n uint256(\r\n 0x12e0f3721230a0f38f6c9913048d5230fd2615ef3ff7f6ee4b20dfe0bdea1a86\r\n )\r\n ]\r\n );\r\n vk.gamma_abc = new Pairing.G1Point[](3);\r\n vk.gamma_abc[0] = Pairing.G1Point(\r\n uint256(\r\n 0x1ef8d5d70234aa3e3d8fc4e3f1ca01c703182580b581106798f05b35fd5082c0\r\n ),\r\n uint256(\r\n 0x2e468046d4ae35138e2032224925d5389712e5ca5e68f4d9c1e1858e7d65602d\r\n )\r\n );\r\n vk.gamma_abc[1] = Pairing.G1Point(\r\n uint256(\r\n 0x0cefae0e3fa6aa25a4485ab7b21d32794d3431a4e4a5ca82ea427b831534c2c9\r\n ),\r\n uint256(\r\n 0x23e3d2035b70884e547638b111870f5957f58ad8068f7a21470164ad361e1e88\r\n )\r\n );\r\n vk.gamma_abc[2] = Pairing.G1Point(\r\n uint256(\r\n 0x030ffe78ec3de150e8688db619bde78e21e894754e6be5ed83742677628b24bc\r\n ),\r\n uint256(\r\n 0x053392f88cfa9092dfbc0bd199d8159e56207779473c24fc601eff91bcd345ca\r\n )\r\n );\r\n }\r\n\r\n function verify(uint256[] memory input, Proof memory proof)\r\n internal\r\n view\r\n returns (uint256)\r\n {\r\n\r\n uint256 snark_scalar_field\r\n = 21888242871839275222246405745257275088548364400416034343698204186575808495617;\r\n VerifyingKey memory vk = verifyingKey();\r\n require(input.length + 1 == vk.gamma_abc.length);\r\n // Compute the linear combination vk_x\r\n Pairing.G1Point memory vk_x = Pairing.G1Point(0, 0);\r\n for (uint256 i = 0; i < input.length; i++) {\r\n require(input[i] < snark_scalar_field);\r\n vk_x = Pairing.addition(\r\n vk_x,\r\n Pairing.scalar_mul(vk.gamma_abc[i + 1], input[i])\r\n );\r\n }\r\n vk_x = Pairing.addition(vk_x, vk.gamma_abc[0]);\r\n if (\r\n !Pairing.pairingProd4(\r\n proof.a,\r\n proof.b,\r\n Pairing.negate(vk_x),\r\n vk.gamma,\r\n Pairing.negate(proof.c),\r\n vk.delta,\r\n Pairing.negate(vk.alpha),\r\n vk.beta\r\n )\r\n ) return 1;\r\n return 0;\r\n }\r\n\r\n function verifyTx(\r\n uint256[2] memory a,\r\n uint256[2][2] memory b,\r\n uint256[2] memory c,\r\n uint256[2] memory input\r\n ) public view returns (bool r) {\r\n Proof memory proof;\r\n proof.a = Pairing.G1Point(a[0], a[1]);\r\n proof.b = Pairing.G2Point([b[0][0], b[0][1]], [b[1][0], b[1][1]]);\r\n proof.c = Pairing.G1Point(c[0], c[1]);\r\n uint256[] memory inputValues = new uint256[](2);\r\n\r\n for (uint256 i = 0; i < input.length; i++) {\r\n inputValues[i] = input[i];\r\n }\r\n if (verify(inputValues, proof) == 0) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n", - "sourcePath": "C:\\Users\\Diego\\dev\\blockchain\\dapp-real-state\\contracts\\zokrates\\code\\square\\verifier.sol", - "ast": { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/zokrates/code/square/verifier.sol", - "exportedSymbols": { - "BN256G2": [ - 5633 - ], - "Pairing": [ - 6275 - ], - "SquareVerifier": [ - 6716 - ] - }, - "id": 6717, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4141, - "literals": [ - "solidity", - "^", - "0.6", - ".1" - ], - "nodeType": "PragmaDirective", - "src": "32:23:10" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@title Elliptic curve operations on twist points for alt_bn128\n@author Mustafa Al-Bassam (mus@musalbas.com)\n@dev Homepage: https://github.com/musalbas/solidity-BN256G2", - "fullyImplemented": true, - "id": 5633, - "linearizedBaseContracts": [ - 5633 - ], - "name": "BN256G2", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 4144, - "name": "FIELD_MODULUS", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5633, - "src": "274:117:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "274:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307833303634346537326531333161303239623835303435623638313831353835643937383136613931363837316361386433633230386331366438376366643437", - "id": 4143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "325:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21888242871839275222246405745257275088696311157297823662689037894645226208583_by_1", - "typeString": "int_const 2188...(69 digits omitted)...8583" - }, - "value": "0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 4147, - "name": "TWISTBX", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5633, - "src": "398:111:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4145, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "398:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832623134396434306365623861616165383162653138393931626530366163336235623463356535353964626566613333323637653664633234613133386535", - "id": 4146, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "443:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_19485874751759354771024239261021720505790618469301721065564631296452457478373_by_1", - "typeString": "int_const 1948...(69 digits omitted)...8373" - }, - "value": "0x2b149d40ceb8aaae81be18991be06ac3b5b4c5e559dbefa33267e6dc24a138e5" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 4150, - "name": "TWISTBY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5633, - "src": "516:109:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4148, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "516:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783937313362303361663066656434636432636166616465656438666466346137346661303834653532643138353265346132626430363835633331356432", - "id": 4149, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "561:64:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_266929791119991161246907387137283842545076965332900288569378510910307636690_by_1", - "typeString": "int_const 2669...(67 digits omitted)...6690" - }, - "value": "0x9713b03af0fed4cd2cafadeed8fdf4a74fa084e52d1852e4a2bd0685c315d2" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 4153, - "name": "PTXX", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5633, - "src": "632:34:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4151, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 4152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "665:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 4156, - "name": "PTXY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5633, - "src": "673:34:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4154, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "673:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 4155, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "706:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 4159, - "name": "PTYX", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5633, - "src": "714:34:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4157, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "714:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "32", - "id": 4158, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "747:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 4162, - "name": "PTYY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5633, - "src": "755:34:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4160, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "755:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 4161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "788:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 4165, - "name": "PTZX", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5633, - "src": "796:34:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4163, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "796:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "34", - "id": 4164, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "829:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 4168, - "name": "PTZY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5633, - "src": "837:34:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4166, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "837:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "35", - "id": 4167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "870:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - }, - "visibility": "internal" - }, - { - "body": { - "id": 4338, - "nodeType": "Block", - "src": "1759:1117:10", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4195, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4170, - "src": "1774:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4196, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1783:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1774:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4198, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4172, - "src": "1788:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1797:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1788:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1774:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4202, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4174, - "src": "1802:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4203, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1811:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1802:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1774:38:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4206, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4176, - "src": "1816:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4207, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1825:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1816:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1774:52:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4245, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4178, - "src": "2056:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2065:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2056:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4248, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4180, - "src": "2070:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2079:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2070:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2056:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4252, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4182, - "src": "2084:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2093:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2084:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2056:38:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4256, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4184, - "src": "2098:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2107:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2098:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2056:52:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4276, - "nodeType": "IfStatement", - "src": "2052:181:10", - "trueBody": { - "id": 4275, - "nodeType": "Block", - "src": "2110:123:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4262, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4170, - "src": "2143:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4263, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4172, - "src": "2150:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4264, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4174, - "src": "2157:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4265, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4176, - "src": "2164:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4261, - "name": "_isOnCurve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4761, - "src": "2132:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (bool)" - } - }, - "id": 4266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2132:38:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4260, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -3, - "src": "2125:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2125:46:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4268, - "nodeType": "ExpressionStatement", - "src": "2125:46:10" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4269, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4170, - "src": "2194:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4270, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4172, - "src": "2201:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4271, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4174, - "src": "2208:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4272, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4176, - "src": "2215:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4273, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2193:28:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256)" - } - }, - "functionReturnParameters": 4194, - "id": 4274, - "nodeType": "Return", - "src": "2186:35:10" - } - ] - } - }, - "id": 4277, - "nodeType": "IfStatement", - "src": "1770:463:10", - "trueBody": { - "id": 4244, - "nodeType": "Block", - "src": "1828:218:10", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 4226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1847:55:10", - "subExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4210, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4178, - "src": "1849:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1858:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1849:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4213, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4180, - "src": "1863:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4214, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1872:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1863:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1849:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4217, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4182, - "src": "1877:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4218, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1886:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1877:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1849:38:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4221, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4184, - "src": "1891:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4222, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1900:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1891:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1849:52:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 4225, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1848:54:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4237, - "nodeType": "IfStatement", - "src": "1843:142:10", - "trueBody": { - "id": 4236, - "nodeType": "Block", - "src": "1904:81:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4229, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4178, - "src": "1941:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4230, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4180, - "src": "1948:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4231, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4182, - "src": "1955:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4232, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4184, - "src": "1962:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4228, - "name": "_isOnCurve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4761, - "src": "1930:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (bool)" - } - }, - "id": 4233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1930:38:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4227, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -3, - "src": "1923:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1923:46:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4235, - "nodeType": "ExpressionStatement", - "src": "1923:46:10" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4238, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4178, - "src": "2007:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4239, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4180, - "src": "2014:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4240, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4182, - "src": "2021:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4241, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4184, - "src": "2028:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4242, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2006:28:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256)" - } - }, - "functionReturnParameters": 4194, - "id": 4243, - "nodeType": "Return", - "src": "1999:35:10" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4280, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4170, - "src": "2263:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4281, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4172, - "src": "2270:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4282, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4174, - "src": "2277:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4283, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4176, - "src": "2284:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4279, - "name": "_isOnCurve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4761, - "src": "2252:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (bool)" - } - }, - "id": 4284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2252:38:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4278, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -3, - "src": "2245:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2245:46:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4286, - "nodeType": "ExpressionStatement", - "src": "2245:46:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4289, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4178, - "src": "2320:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4290, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4180, - "src": "2327:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4291, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4182, - "src": "2334:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4292, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4184, - "src": "2341:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4288, - "name": "_isOnCurve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4761, - "src": "2309:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (bool)" - } - }, - "id": 4293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2309:38:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4287, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -3, - "src": "2302:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2302:46:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4295, - "nodeType": "ExpressionStatement", - "src": "2302:46:10" - }, - { - "assignments": [ - 4301 - ], - "declarations": [ - { - "constant": false, - "id": 4301, - "name": "pt3", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4338, - "src": "2361:21:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6]" - }, - "typeName": { - "baseType": { - "id": 4299, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2361:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4300, - "length": { - "argumentTypes": null, - "hexValue": "36", - "id": 4298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2369:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "nodeType": "ArrayTypeName", - "src": "2361:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", - "typeString": "uint256[6]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4316, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4303, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4170, - "src": "2419:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4304, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4172, - "src": "2439:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4305, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4174, - "src": "2459:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4306, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4176, - "src": "2479:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "31", - "id": 4307, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2499:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 4308, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2515:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 4309, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4178, - "src": "2531:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4310, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4180, - "src": "2551:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4311, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4182, - "src": "2571:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4312, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4184, - "src": "2591:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "31", - "id": 4313, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2611:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 4314, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2627:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 4302, - "name": "_ECTwistAddJacobian", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5303, - "src": "2385:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$6_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256) pure returns (uint256[6] memory)" - } - }, - "id": 4315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2385:254:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2361:278:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4318, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4301, - "src": "2704:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4320, - "indexExpression": { - "argumentTypes": null, - "id": 4319, - "name": "PTXX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4153, - "src": "2708:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2704:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4321, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4301, - "src": "2732:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4323, - "indexExpression": { - "argumentTypes": null, - "id": 4322, - "name": "PTXY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4156, - "src": "2736:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2732:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4324, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4301, - "src": "2760:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4326, - "indexExpression": { - "argumentTypes": null, - "id": 4325, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "2764:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2760:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4327, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4301, - "src": "2788:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4329, - "indexExpression": { - "argumentTypes": null, - "id": 4328, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "2792:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2788:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4330, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4301, - "src": "2816:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4332, - "indexExpression": { - "argumentTypes": null, - "id": 4331, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "2820:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2816:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4333, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4301, - "src": "2844:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4335, - "indexExpression": { - "argumentTypes": null, - "id": 4334, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "2848:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2844:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4317, - "name": "_fromJacobian", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4840, - "src": "2672:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) view returns (uint256,uint256,uint256,uint256)" - } - }, - "id": 4336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2672:196:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256)" - } - }, - "functionReturnParameters": 4194, - "id": 4337, - "nodeType": "Return", - "src": "2652:216:10" - } - ] - }, - "documentation": "@notice Add two twist points\n@param pt1xx Coefficient 1 of x on point 1\n@param pt1xy Coefficient 2 of x on point 1\n@param pt1yx Coefficient 1 of y on point 1\n@param pt1yy Coefficient 2 of y on point 1\n@param pt2xx Coefficient 1 of x on point 2\n@param pt2xy Coefficient 2 of x on point 2\n@param pt2yx Coefficient 1 of y on point 2\n@param pt2yy Coefficient 2 of y on point 2\n@return (pt3xx, pt3xy, pt3yx, pt3yy)", - "functionSelector": "61a931ec", - "id": 4339, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ECTwistAdd", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4185, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4170, - "name": "pt1xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1418:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4169, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1418:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4172, - "name": "pt1xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1442:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4171, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1442:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4174, - "name": "pt1yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1466:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1466:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4176, - "name": "pt1yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1490:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4175, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1490:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4178, - "name": "pt2xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1514:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4177, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1514:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4180, - "name": "pt2xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1538:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4179, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1538:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4182, - "name": "pt2yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1562:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4181, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1562:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4184, - "name": "pt2yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1586:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4183, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1586:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1407:199:10" - }, - "returnParameters": { - "id": 4194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4187, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1669:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4186, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1669:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4189, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1691:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4188, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1691:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4191, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1713:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4190, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1713:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4193, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1735:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4192, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1735:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1654:99:10" - }, - "scope": 5633, - "src": "1388:1488:10", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4440, - "nodeType": "Block", - "src": "3496:695:10", - "statements": [ - { - "assignments": [ - 4361 - ], - "declarations": [ - { - "constant": false, - "id": 4361, - "name": "pt1zx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4440, - "src": "3507:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4360, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3507:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4363, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 4362, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3523:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3507:17:10" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4364, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4343, - "src": "3539:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4365, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3548:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3539:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4367, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4345, - "src": "3553:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4368, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3562:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3553:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3539:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4371, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "3567:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4372, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3576:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3567:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3539:38:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4375, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4349, - "src": "3581:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3590:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3581:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3539:52:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4401, - "nodeType": "Block", - "src": "3683:73:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4394, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4343, - "src": "3716:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4395, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4345, - "src": "3723:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4396, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "3730:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4397, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4349, - "src": "3737:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4393, - "name": "_isOnCurve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4761, - "src": "3705:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (bool)" - } - }, - "id": 4398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3705:38:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4392, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -3, - "src": "3698:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3698:46:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4400, - "nodeType": "ExpressionStatement", - "src": "3698:46:10" - } - ] - }, - "id": 4402, - "nodeType": "IfStatement", - "src": "3535:221:10", - "trueBody": { - "id": 4391, - "nodeType": "Block", - "src": "3593:84:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4379, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4343, - "src": "3608:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 4380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3616:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3608:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4382, - "nodeType": "ExpressionStatement", - "src": "3608:9:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4383, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "3632:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 4384, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3640:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3632:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4386, - "nodeType": "ExpressionStatement", - "src": "3632:9:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4387, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4361, - "src": "3656:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 4388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3664:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3656:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4390, - "nodeType": "ExpressionStatement", - "src": "3656:9:10" - } - ] - } - }, - { - "assignments": [ - 4408 - ], - "declarations": [ - { - "constant": false, - "id": 4408, - "name": "pt2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4440, - "src": "3768:21:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6]" - }, - "typeName": { - "baseType": { - "id": 4406, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3768:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4407, - "length": { - "argumentTypes": null, - "hexValue": "36", - "id": 4405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3776:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "nodeType": "ArrayTypeName", - "src": "3768:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", - "typeString": "uint256[6]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4418, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4410, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "3826:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4411, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4343, - "src": "3842:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4412, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4345, - "src": "3862:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4413, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "3882:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4414, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4349, - "src": "3902:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4415, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4361, - "src": "3922:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 4416, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3942:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 4409, - "name": "_ECTwistMulJacobian", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "3792:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$6_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256,uint256) pure returns (uint256[6] memory)" - } - }, - "id": 4417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3792:162:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3768:186:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4420, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4408, - "src": "4019:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4422, - "indexExpression": { - "argumentTypes": null, - "id": 4421, - "name": "PTXX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4153, - "src": "4023:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4019:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4423, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4408, - "src": "4047:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4425, - "indexExpression": { - "argumentTypes": null, - "id": 4424, - "name": "PTXY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4156, - "src": "4051:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4047:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4426, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4408, - "src": "4075:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4428, - "indexExpression": { - "argumentTypes": null, - "id": 4427, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "4079:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4075:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4429, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4408, - "src": "4103:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4431, - "indexExpression": { - "argumentTypes": null, - "id": 4430, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "4107:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4103:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4432, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4408, - "src": "4131:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4434, - "indexExpression": { - "argumentTypes": null, - "id": 4433, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "4135:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4131:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4435, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4408, - "src": "4159:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4437, - "indexExpression": { - "argumentTypes": null, - "id": 4436, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "4163:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4159:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4419, - "name": "_fromJacobian", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4840, - "src": "3987:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) view returns (uint256,uint256,uint256,uint256)" - } - }, - "id": 4438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3987:196:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256)" - } - }, - "functionReturnParameters": 4359, - "id": 4439, - "nodeType": "Return", - "src": "3967:216:10" - } - ] - }, - "documentation": "@notice Multiply a twist point by a scalar\n@param s Scalar to multiply by\n@param pt1xx Coefficient 1 of x\n@param pt1xy Coefficient 2 of x\n@param pt1yx Coefficient 1 of y\n@param pt1yy Coefficient 2 of y\n@return (pt2xx, pt2xy, pt2yx, pt2yy)", - "functionSelector": "b73ab75d", - "id": 4441, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ECTwistMul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4350, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4341, - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4441, - "src": "3231:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4340, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3231:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4343, - "name": "pt1xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4441, - "src": "3251:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4342, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3251:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4345, - "name": "pt1xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4441, - "src": "3275:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3275:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4347, - "name": "pt1yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4441, - "src": "3299:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3299:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4349, - "name": "pt1yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4441, - "src": "3323:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4348, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3323:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3220:123:10" - }, - "returnParameters": { - "id": 4359, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4352, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4441, - "src": "3406:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4351, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3406:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4354, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4441, - "src": "3428:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4353, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3428:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4356, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4441, - "src": "3450:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4355, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3450:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4358, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4441, - "src": "3472:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4357, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3472:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3391:99:10" - }, - "scope": 5633, - "src": "3201:990:10", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4448, - "nodeType": "Block", - "src": "4346:39:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4446, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "4364:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4445, - "id": 4447, - "nodeType": "Return", - "src": "4357:20:10" - } - ] - }, - "documentation": "@notice Get the field modulus\n@return The field modulus", - "functionSelector": "55a3e90f", - "id": 4449, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "GetFieldModulus", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4442, - "nodeType": "ParameterList", - "parameters": [], - "src": "4313:2:10" - }, - "returnParameters": { - "id": 4445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4444, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4449, - "src": "4337:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4443, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4337:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4336:9:10" - }, - "scope": 5633, - "src": "4289:96:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4468, - "nodeType": "Block", - "src": "4508:45:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4461, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4451, - "src": "4533:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4462, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4455, - "src": "4536:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4463, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4453, - "src": "4540:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4536:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4465, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4455, - "src": "4543:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4460, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "4526:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4526:19:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4459, - "id": 4467, - "nodeType": "Return", - "src": "4519:26:10" - } - ] - }, - "documentation": null, - "id": 4469, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "submod", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4456, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4451, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4469, - "src": "4419:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4419:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4453, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4469, - "src": "4439:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4452, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4439:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4455, - "name": "n", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4469, - "src": "4459:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4454, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4459:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4408:67:10" - }, - "returnParameters": { - "id": 4459, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4458, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4469, - "src": "4499:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4457, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4499:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4498:9:10" - }, - "scope": 5633, - "src": "4393:160:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4512, - "nodeType": "Block", - "src": "4710:365:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4486, - "name": "xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4471, - "src": "4775:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4487, - "name": "yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4475, - "src": "4779:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4488, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "4783:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4485, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "4768:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4768:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4491, - "name": "xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4473, - "src": "4823:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4492, - "name": "yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4477, - "src": "4827:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4493, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "4831:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4490, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "4816:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4816:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4495, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "4864:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4484, - "name": "submod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4469, - "src": "4743:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4743:149:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4499, - "name": "xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4471, - "src": "4939:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4500, - "name": "yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4477, - "src": "4943:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4501, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "4947:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4498, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "4932:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4932:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4504, - "name": "xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4473, - "src": "4987:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4505, - "name": "yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4475, - "src": "4991:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4506, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "4995:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4503, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "4980:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4980:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4508, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "5028:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4497, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "4907:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4907:149:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4510, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4728:339:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 4483, - "id": 4511, - "nodeType": "Return", - "src": "4721:346:10" - } - ] - }, - "documentation": null, - "id": 4513, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_FQ2Mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4478, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4471, - "name": "xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4513, - "src": "4588:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4470, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4588:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4473, - "name": "xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4513, - "src": "4609:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4472, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4609:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4475, - "name": "yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4513, - "src": "4630:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4630:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4477, - "name": "yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4513, - "src": "4651:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4476, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4651:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4577:91:10" - }, - "returnParameters": { - "id": 4483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4480, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4513, - "src": "4692:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4479, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4692:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4482, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4513, - "src": "4701:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4481, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4701:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4691:18:10" - }, - "scope": 5633, - "src": "4561:514:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4538, - "nodeType": "Block", - "src": "5210:86:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4527, - "name": "xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4515, - "src": "5236:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4528, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4519, - "src": "5240:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4529, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "5243:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4526, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5229:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5229:28:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4532, - "name": "xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "5266:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4533, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4519, - "src": "5270:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4534, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "5273:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4531, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5259:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5259:28:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4536, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5228:60:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 4525, - "id": 4537, - "nodeType": "Return", - "src": "5221:67:10" - } - ] - }, - "documentation": null, - "id": 4539, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_FQ2Muc", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4520, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4515, - "name": "xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "5110:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5110:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4517, - "name": "xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "5131:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5131:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4519, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "5152:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4518, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5152:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5099:69:10" - }, - "returnParameters": { - "id": 4525, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4522, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "5192:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4521, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5192:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4524, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "5201:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4523, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5201:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5191:18:10" - }, - "scope": 5633, - "src": "5083:213:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4566, - "nodeType": "Block", - "src": "5453:88:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4555, - "name": "xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "5479:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4556, - "name": "yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4545, - "src": "5483:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4557, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "5487:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4554, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "5472:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5472:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4560, - "name": "xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4543, - "src": "5510:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4561, - "name": "yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4547, - "src": "5514:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4562, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "5518:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4559, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "5503:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5503:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4564, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5471:62:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 4553, - "id": 4565, - "nodeType": "Return", - "src": "5464:69:10" - } - ] - }, - "documentation": null, - "id": 4567, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_FQ2Add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4548, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4541, - "name": "xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4567, - "src": "5331:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4540, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5331:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4543, - "name": "xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4567, - "src": "5352:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4542, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5352:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4545, - "name": "yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4567, - "src": "5373:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4544, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5373:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4547, - "name": "yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4567, - "src": "5394:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5394:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5320:91:10" - }, - "returnParameters": { - "id": 4553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4550, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4567, - "src": "5435:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4549, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5435:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4552, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4567, - "src": "5444:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5444:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5434:18:10" - }, - "scope": 5633, - "src": "5304:237:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4594, - "nodeType": "Block", - "src": "5704:88:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4583, - "name": "xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "5730:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4584, - "name": "yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "5734:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4585, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "5738:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4582, - "name": "submod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4469, - "src": "5723:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5723:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4588, - "name": "xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4571, - "src": "5761:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4589, - "name": "yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4575, - "src": "5765:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4590, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "5769:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4587, - "name": "submod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4469, - "src": "5754:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5754:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4592, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5722:62:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 4581, - "id": 4593, - "nodeType": "Return", - "src": "5715:69:10" - } - ] - }, - "documentation": null, - "id": 4595, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_FQ2Sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4569, - "name": "xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4595, - "src": "5576:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4568, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5576:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4571, - "name": "xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4595, - "src": "5597:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4570, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5597:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4573, - "name": "yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4595, - "src": "5618:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4572, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5618:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4575, - "name": "yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4595, - "src": "5639:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5639:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5565:91:10" - }, - "returnParameters": { - "id": 4581, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4578, - "name": "rx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4595, - "src": "5680:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4577, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5680:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4580, - "name": "ry", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4595, - "src": "5692:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4579, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5692:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5679:24:10" - }, - "scope": 5633, - "src": "5549:243:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4626, - "nodeType": "Block", - "src": "5949:86:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4610, - "name": "yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4601, - "src": "5961:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4611, - "name": "yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4603, - "src": "5965:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4612, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "5960:8:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4614, - "name": "yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4601, - "src": "5979:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4615, - "name": "yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4603, - "src": "5983:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4613, - "name": "_FQ2Inv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4672, - "src": "5971:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256,uint256)" - } - }, - "id": 4616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5971:15:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "5960:26:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4618, - "nodeType": "ExpressionStatement", - "src": "5960:26:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4620, - "name": "xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4597, - "src": "6012:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4621, - "name": "xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4599, - "src": "6016:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4622, - "name": "yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4601, - "src": "6020:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4623, - "name": "yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4603, - "src": "6024:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4619, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "6004:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6004:23:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 4609, - "id": 4625, - "nodeType": "Return", - "src": "5997:30:10" - } - ] - }, - "documentation": null, - "id": 4627, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_FQ2Div", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4604, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4597, - "name": "xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4627, - "src": "5827:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4596, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5827:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4599, - "name": "xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4627, - "src": "5848:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4598, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5848:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4601, - "name": "yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4627, - "src": "5869:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5869:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4603, - "name": "yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4627, - "src": "5890:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4602, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5890:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5816:91:10" - }, - "returnParameters": { - "id": 4609, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4606, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4627, - "src": "5931:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4605, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5931:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4608, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4627, - "src": "5940:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4607, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5940:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5930:18:10" - }, - "scope": 5633, - "src": "5800:235:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4671, - "nodeType": "Block", - "src": "6155:372:10", - "statements": [ - { - "assignments": [ - 4639 - ], - "declarations": [ - { - "constant": false, - "id": 4639, - "name": "inv", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4671, - "src": "6166:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4638, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6166:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4656, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4643, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4631, - "src": "6234:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4644, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4631, - "src": "6237:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4645, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "6240:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4642, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "6227:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6227:27:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4648, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4629, - "src": "6280:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4649, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4629, - "src": "6283:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4650, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "6286:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4647, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "6273:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6273:27:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4652, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "6319:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4641, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "6202:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6202:145:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4654, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "6362:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4640, - "name": "_modInv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4779, - "src": "6180:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 4655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6180:206:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6166:220:10" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4658, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4629, - "src": "6426:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4659, - "name": "inv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4639, - "src": "6429:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4660, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "6434:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4657, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "6419:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6419:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4662, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "6463:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4664, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4631, - "src": "6486:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4665, - "name": "inv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4639, - "src": "6489:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4666, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "6494:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4663, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "6479:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6479:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6463:45:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4669, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6404:115:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 4637, - "id": 4670, - "nodeType": "Return", - "src": "6397:122:10" - } - ] - }, - "documentation": null, - "id": 4672, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_FQ2Inv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4632, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4629, - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4672, - "src": "6060:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6060:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4631, - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4672, - "src": "6071:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4630, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6071:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6059:22:10" - }, - "returnParameters": { - "id": 4637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4634, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4672, - "src": "6132:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4633, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6132:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4636, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4672, - "src": "6141:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6141:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6131:18:10" - }, - "scope": 5633, - "src": "6043:484:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4760, - "nodeType": "Block", - "src": "6675:397:10", - "statements": [ - { - "assignments": [ - 4686 - ], - "declarations": [ - { - "constant": false, - "id": 4686, - "name": "yyx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4760, - "src": "6686:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4685, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6686:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4687, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "6686:11:10" - }, - { - "assignments": [ - 4689 - ], - "declarations": [ - { - "constant": false, - "id": 4689, - "name": "yyy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4760, - "src": "6708:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6708:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4690, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "6708:11:10" - }, - { - "assignments": [ - 4692 - ], - "declarations": [ - { - "constant": false, - "id": 4692, - "name": "xxxx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4760, - "src": "6730:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4691, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6730:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4693, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "6730:12:10" - }, - { - "assignments": [ - 4695 - ], - "declarations": [ - { - "constant": false, - "id": 4695, - "name": "xxxy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4760, - "src": "6753:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4694, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6753:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4696, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "6753:12:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4697, - "name": "yyx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "6777:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4698, - "name": "yyy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4689, - "src": "6782:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4699, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "6776:10:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4701, - "name": "yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4678, - "src": "6797:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4702, - "name": "yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4680, - "src": "6801:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4703, - "name": "yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4678, - "src": "6805:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4704, - "name": "yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4680, - "src": "6809:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4700, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "6789:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6789:23:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "6776:36:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4707, - "nodeType": "ExpressionStatement", - "src": "6776:36:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4708, - "name": "xxxx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "6824:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4709, - "name": "xxxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4695, - "src": "6830:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4710, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "6823:12:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4712, - "name": "xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4674, - "src": "6846:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4713, - "name": "xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4676, - "src": "6850:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4714, - "name": "xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4674, - "src": "6854:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4715, - "name": "xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4676, - "src": "6858:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4711, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "6838:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6838:23:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "6823:38:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4718, - "nodeType": "ExpressionStatement", - "src": "6823:38:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4719, - "name": "xxxx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "6873:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4720, - "name": "xxxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4695, - "src": "6879:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4721, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "6872:12:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4723, - "name": "xxxx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "6895:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4724, - "name": "xxxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4695, - "src": "6901:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4725, - "name": "xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4674, - "src": "6907:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4726, - "name": "xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4676, - "src": "6911:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4722, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "6887:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6887:27:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "6872:42:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4729, - "nodeType": "ExpressionStatement", - "src": "6872:42:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4730, - "name": "yyx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "6926:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4731, - "name": "yyy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4689, - "src": "6931:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4732, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "6925:10:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4734, - "name": "yyx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "6946:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4735, - "name": "yyy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4689, - "src": "6951:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4736, - "name": "xxxx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "6956:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4737, - "name": "xxxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4695, - "src": "6962:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4733, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "6938:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6938:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "6925:42:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4740, - "nodeType": "ExpressionStatement", - "src": "6925:42:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4741, - "name": "yyx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "6979:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4742, - "name": "yyy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4689, - "src": "6984:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4743, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "6978:10:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4745, - "name": "yyx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "6999:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4746, - "name": "yyy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4689, - "src": "7004:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4747, - "name": "TWISTBX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4147, - "src": "7009:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4748, - "name": "TWISTBY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4150, - "src": "7018:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4744, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "6991:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6991:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "6978:48:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4751, - "nodeType": "ExpressionStatement", - "src": "6978:48:10" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4752, - "name": "yyx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "7044:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7051:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7044:8:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4755, - "name": "yyy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4689, - "src": "7056:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7063:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7056:8:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7044:20:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 4684, - "id": 4759, - "nodeType": "Return", - "src": "7037:27:10" - } - ] - }, - "documentation": null, - "id": 4761, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isOnCurve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4681, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4674, - "name": "xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4761, - "src": "6565:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4673, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6565:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4676, - "name": "xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4761, - "src": "6586:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4675, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6586:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4678, - "name": "yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4761, - "src": "6607:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4677, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6607:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4680, - "name": "yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4761, - "src": "6628:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6628:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6554:91:10" - }, - "returnParameters": { - "id": 4684, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4683, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4761, - "src": "6669:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4682, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6669:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6668:6:10" - }, - "scope": 5633, - "src": "6535:537:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4778, - "nodeType": "Block", - "src": "7190:634:10", - "statements": [ - { - "assignments": [ - 4771 - ], - "declarations": [ - { - "constant": false, - "id": 4771, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4778, - "src": "7201:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4770, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7201:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4772, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "7201:12:10" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "7233:557:10", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7248:26:10", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7269:4:10", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7263:5:10" - }, - "nodeType": "YulFunctionCall", - "src": "7263:11:10" - }, - "variables": [ - { - "name": "freemem", - "nodeType": "YulTypedName", - "src": "7252:7:10", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "freemem", - "nodeType": "YulIdentifier", - "src": "7295:7:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7304:4:10", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7288:6:10" - }, - "nodeType": "YulFunctionCall", - "src": "7288:21:10" - }, - "nodeType": "YulExpressionStatement", - "src": "7288:21:10" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "freemem", - "nodeType": "YulIdentifier", - "src": "7334:7:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7343:4:10", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7330:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "7330:18:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7350:4:10", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7323:6:10" - }, - "nodeType": "YulFunctionCall", - "src": "7323:32:10" - }, - "nodeType": "YulExpressionStatement", - "src": "7323:32:10" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "freemem", - "nodeType": "YulIdentifier", - "src": "7380:7:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7389:4:10", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7376:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "7376:18:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7396:4:10", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7369:6:10" - }, - "nodeType": "YulFunctionCall", - "src": "7369:32:10" - }, - "nodeType": "YulExpressionStatement", - "src": "7369:32:10" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "freemem", - "nodeType": "YulIdentifier", - "src": "7426:7:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7435:4:10", - "type": "", - "value": "0x60" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7422:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "7422:18:10" - }, - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "7442:1:10" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7415:6:10" - }, - "nodeType": "YulFunctionCall", - "src": "7415:29:10" - }, - "nodeType": "YulExpressionStatement", - "src": "7415:29:10" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "freemem", - "nodeType": "YulIdentifier", - "src": "7469:7:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7478:4:10", - "type": "", - "value": "0x80" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7465:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "7465:18:10" - }, - { - "arguments": [ - { - "name": "n", - "nodeType": "YulIdentifier", - "src": "7489:1:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7492:1:10", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "7485:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "7485:9:10" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7458:6:10" - }, - "nodeType": "YulFunctionCall", - "src": "7458:37:10" - }, - "nodeType": "YulExpressionStatement", - "src": "7458:37:10" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "freemem", - "nodeType": "YulIdentifier", - "src": "7520:7:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7529:4:10", - "type": "", - "value": "0xA0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7516:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "7516:18:10" - }, - { - "name": "n", - "nodeType": "YulIdentifier", - "src": "7536:1:10" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7509:6:10" - }, - "nodeType": "YulFunctionCall", - "src": "7509:29:10" - }, - "nodeType": "YulExpressionStatement", - "src": "7509:29:10" - }, - { - "nodeType": "YulAssignment", - "src": "7552:189:10", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "functionName": { - "name": "gas", - "nodeType": "YulIdentifier", - "src": "7596:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "7596:5:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7603:4:10", - "type": "", - "value": "2000" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "7592:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "7592:16:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7627:1:10", - "type": "", - "value": "5" - }, - { - "name": "freemem", - "nodeType": "YulIdentifier", - "src": "7647:7:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7673:4:10", - "type": "", - "value": "0xC0" - }, - { - "name": "freemem", - "nodeType": "YulIdentifier", - "src": "7696:7:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7722:4:10", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "staticcall", - "nodeType": "YulIdentifier", - "src": "7563:10:10" - }, - "nodeType": "YulFunctionCall", - "src": "7563:178:10" - }, - "variableNames": [ - { - "name": "success", - "nodeType": "YulIdentifier", - "src": "7552:7:10" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7755:24:10", - "value": { - "arguments": [ - { - "name": "freemem", - "nodeType": "YulIdentifier", - "src": "7771:7:10" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7765:5:10" - }, - "nodeType": "YulFunctionCall", - "src": "7765:14:10" - }, - "variableNames": [ - { - "name": "result", - "nodeType": "YulIdentifier", - "src": "7755:6:10" - } - ] - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 4763, - "isOffset": false, - "isSlot": false, - "src": "7442:1:10", - "valueSize": 1 - }, - { - "declaration": 4765, - "isOffset": false, - "isSlot": false, - "src": "7489:1:10", - "valueSize": 1 - }, - { - "declaration": 4765, - "isOffset": false, - "isSlot": false, - "src": "7536:1:10", - "valueSize": 1 - }, - { - "declaration": 4768, - "isOffset": false, - "isSlot": false, - "src": "7755:6:10", - "valueSize": 1 - }, - { - "declaration": 4771, - "isOffset": false, - "isSlot": false, - "src": "7552:7:10", - "valueSize": 1 - } - ], - "id": 4773, - "nodeType": "InlineAssembly", - "src": "7224:566:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4775, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4771, - "src": "7808:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4774, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7800:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7800:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4777, - "nodeType": "ExpressionStatement", - "src": "7800:16:10" - } - ] - }, - "documentation": null, - "id": 4779, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_modInv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4766, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4763, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4779, - "src": "7097:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4762, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7097:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4765, - "name": "n", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4779, - "src": "7108:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4764, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7108:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7096:22:10" - }, - "returnParameters": { - "id": 4769, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4768, - "name": "result", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4779, - "src": "7169:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4767, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7169:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7168:16:10" - }, - "scope": 5633, - "src": "7080:744:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4839, - "nodeType": "Block", - "src": "8184:231:10", - "statements": [ - { - "assignments": [ - 4803 - ], - "declarations": [ - { - "constant": false, - "id": 4803, - "name": "invzx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4839, - "src": "8195:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4802, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8195:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4804, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "8195:13:10" - }, - { - "assignments": [ - 4806 - ], - "declarations": [ - { - "constant": false, - "id": 4806, - "name": "invzy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4839, - "src": "8219:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8219:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4807, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "8219:13:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4808, - "name": "invzx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4803, - "src": "8244:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4809, - "name": "invzy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4806, - "src": "8251:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4810, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "8243:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4812, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4789, - "src": "8268:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4813, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4791, - "src": "8275:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4811, - "name": "_FQ2Inv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4672, - "src": "8260:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256,uint256)" - } - }, - "id": 4814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8260:21:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "8243:38:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4816, - "nodeType": "ExpressionStatement", - "src": "8243:38:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4817, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4794, - "src": "8293:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4818, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4796, - "src": "8300:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4819, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "8292:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4821, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4781, - "src": "8317:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4822, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4783, - "src": "8324:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4823, - "name": "invzx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4803, - "src": "8331:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4824, - "name": "invzy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4806, - "src": "8338:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4820, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "8309:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8309:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "8292:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4827, - "nodeType": "ExpressionStatement", - "src": "8292:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4828, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4798, - "src": "8356:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4829, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4800, - "src": "8363:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4830, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "8355:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4832, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4785, - "src": "8380:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4833, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4787, - "src": "8387:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4834, - "name": "invzx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4803, - "src": "8394:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4835, - "name": "invzy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4806, - "src": "8401:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4831, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "8372:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8372:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "8355:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4838, - "nodeType": "ExpressionStatement", - "src": "8355:52:10" - } - ] - }, - "documentation": null, - "id": 4840, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_fromJacobian", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4781, - "name": "pt1xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4840, - "src": "7865:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4780, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7865:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4783, - "name": "pt1xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4840, - "src": "7889:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7889:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4785, - "name": "pt1yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4840, - "src": "7913:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4784, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7913:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4787, - "name": "pt1yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4840, - "src": "7937:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4786, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7937:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4789, - "name": "pt1zx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4840, - "src": "7961:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4788, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7961:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4791, - "name": "pt1zy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4840, - "src": "7985:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4790, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7985:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7854:151:10" - }, - "returnParameters": { - "id": 4801, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4794, - "name": "pt2xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4840, - "src": "8070:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4793, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8070:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4796, - "name": "pt2xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4840, - "src": "8098:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4795, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8098:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4798, - "name": "pt2yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4840, - "src": "8126:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4797, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8126:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4800, - "name": "pt2yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4840, - "src": "8154:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4799, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8154:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8055:123:10" - }, - "scope": 5633, - "src": "7832:583:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5302, - "nodeType": "Block", - "src": "8793:3378:10", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4871, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "8808:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4872, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8817:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8808:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4874, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "8822:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8831:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8822:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8808:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4909, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "9124:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4910, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9133:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9124:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4912, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "9138:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4913, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9147:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9138:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9124:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4947, - "nodeType": "IfStatement", - "src": "9120:310:10", - "trueBody": { - "id": 4946, - "nodeType": "Block", - "src": "9150:280:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4916, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9184:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4918, - "indexExpression": { - "argumentTypes": null, - "id": 4917, - "name": "PTXX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4153, - "src": "9188:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9184:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4919, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9212:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4921, - "indexExpression": { - "argumentTypes": null, - "id": 4920, - "name": "PTXY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4156, - "src": "9216:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9212:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4922, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9240:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4924, - "indexExpression": { - "argumentTypes": null, - "id": 4923, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "9244:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9240:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4925, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9268:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4927, - "indexExpression": { - "argumentTypes": null, - "id": 4926, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "9272:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9268:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4928, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9296:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4930, - "indexExpression": { - "argumentTypes": null, - "id": 4929, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "9300:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9296:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4931, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9324:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4933, - "indexExpression": { - "argumentTypes": null, - "id": 4932, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "9328:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9324:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4934, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "9165:183:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4935, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4842, - "src": "9352:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4936, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "9359:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4937, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "9366:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4938, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "9373:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4939, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "9380:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4940, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "9387:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4941, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9351:42:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "src": "9165:228:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4943, - "nodeType": "ExpressionStatement", - "src": "9165:228:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4944, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9415:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "functionReturnParameters": 4870, - "id": 4945, - "nodeType": "Return", - "src": "9408:10:10" - } - ] - } - }, - "id": 4948, - "nodeType": "IfStatement", - "src": "8804:626:10", - "trueBody": { - "id": 4908, - "nodeType": "Block", - "src": "8834:280:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4878, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "8868:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4880, - "indexExpression": { - "argumentTypes": null, - "id": 4879, - "name": "PTXX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4153, - "src": "8872:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8868:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4881, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "8896:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4883, - "indexExpression": { - "argumentTypes": null, - "id": 4882, - "name": "PTXY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4156, - "src": "8900:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8896:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4884, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "8924:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4886, - "indexExpression": { - "argumentTypes": null, - "id": 4885, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "8928:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8924:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4887, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "8952:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4889, - "indexExpression": { - "argumentTypes": null, - "id": 4888, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "8956:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8952:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4890, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "8980:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4892, - "indexExpression": { - "argumentTypes": null, - "id": 4891, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "8984:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8980:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4893, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9008:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4895, - "indexExpression": { - "argumentTypes": null, - "id": 4894, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "9012:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9008:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4896, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "8849:183:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4897, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "9036:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4898, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "9043:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4899, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4858, - "src": "9050:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4900, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "src": "9057:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4901, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "9064:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4902, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "9071:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4903, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9035:42:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "src": "8849:228:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4905, - "nodeType": "ExpressionStatement", - "src": "8849:228:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4906, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9099:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "functionReturnParameters": 4870, - "id": 4907, - "nodeType": "Return", - "src": "9092:10:10" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 4958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4949, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4858, - "src": "9443:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4950, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "src": "9450:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4951, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "9442:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4953, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4858, - "src": "9467:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4954, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "src": "9474:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4955, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "9481:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4956, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "9488:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4952, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "9459:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9459:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "9442:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4959, - "nodeType": "ExpressionStatement", - "src": "9442:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4960, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9522:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4962, - "indexExpression": { - "argumentTypes": null, - "id": 4961, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "9526:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9522:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4963, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9533:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4965, - "indexExpression": { - "argumentTypes": null, - "id": 4964, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "9537:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9533:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4966, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "9521:22:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4968, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "9554:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4969, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "9561:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4970, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "9568:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4971, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "9575:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4967, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "9546:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9546:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "9521:60:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4974, - "nodeType": "ExpressionStatement", - "src": "9521:60:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4975, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "9609:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4976, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "9616:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4977, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "9608:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4979, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "9633:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4980, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "9640:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4981, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "9647:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4982, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "9654:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4978, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "9625:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9625:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "9608:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4985, - "nodeType": "ExpressionStatement", - "src": "9608:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4986, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9688:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4988, - "indexExpression": { - "argumentTypes": null, - "id": 4987, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "9692:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9688:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4989, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9699:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4991, - "indexExpression": { - "argumentTypes": null, - "id": 4990, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "9703:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9699:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4992, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "9687:22:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4994, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4842, - "src": "9720:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4995, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "9727:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4996, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "9734:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4997, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "9741:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4993, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "9712:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9712:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "9687:60:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5000, - "nodeType": "ExpressionStatement", - "src": "9687:60:10" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5001, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "9780:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5002, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9789:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5004, - "indexExpression": { - "argumentTypes": null, - "id": 5003, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "9793:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9789:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9780:18:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5006, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "9802:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5007, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9811:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5009, - "indexExpression": { - "argumentTypes": null, - "id": 5008, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "9815:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9811:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9802:18:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9780:40:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5087, - "nodeType": "IfStatement", - "src": "9776:849:10", - "trueBody": { - "id": 5086, - "nodeType": "Block", - "src": "9822:803:10", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5012, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4858, - "src": "9841:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5013, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9850:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5015, - "indexExpression": { - "argumentTypes": null, - "id": 5014, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "9854:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9850:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9841:18:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5017, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "src": "9863:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5018, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9872:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5020, - "indexExpression": { - "argumentTypes": null, - "id": 5019, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "9876:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9872:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9863:18:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9841:40:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5055, - "nodeType": "IfStatement", - "src": "9837:533:10", - "trueBody": { - "id": 5054, - "nodeType": "Block", - "src": "9883:487:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5023, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9925:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5025, - "indexExpression": { - "argumentTypes": null, - "id": 5024, - "name": "PTXX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4153, - "src": "9929:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9925:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5026, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9957:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5028, - "indexExpression": { - "argumentTypes": null, - "id": 5027, - "name": "PTXY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4156, - "src": "9961:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9957:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5029, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9989:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5031, - "indexExpression": { - "argumentTypes": null, - "id": 5030, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "9993:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9989:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5032, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10021:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5034, - "indexExpression": { - "argumentTypes": null, - "id": 5033, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "10025:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10021:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5035, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10053:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5037, - "indexExpression": { - "argumentTypes": null, - "id": 5036, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "10057:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10053:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5038, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10085:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5040, - "indexExpression": { - "argumentTypes": null, - "id": 5039, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "10089:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10085:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5041, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "9902:211:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5043, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4842, - "src": "10161:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5044, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "10189:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5045, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "10217:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5046, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "10245:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5047, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "10273:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5048, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "10301:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5042, - "name": "_ECTwistDoubleJacobian", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5545, - "src": "10116:22:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) pure returns (uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "id": 5049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10116:209:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "src": "9902:423:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5051, - "nodeType": "ExpressionStatement", - "src": "9902:423:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5052, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10351:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "functionReturnParameters": 4870, - "id": 5053, - "nodeType": "Return", - "src": "10344:10:10" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5056, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10403:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5058, - "indexExpression": { - "argumentTypes": null, - "id": 5057, - "name": "PTXX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4153, - "src": "10407:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10403:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5059, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10431:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5061, - "indexExpression": { - "argumentTypes": null, - "id": 5060, - "name": "PTXY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4156, - "src": "10435:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10431:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5062, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10459:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5064, - "indexExpression": { - "argumentTypes": null, - "id": 5063, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "10463:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10459:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5065, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10487:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5067, - "indexExpression": { - "argumentTypes": null, - "id": 5066, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "10491:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10487:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5068, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10515:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5070, - "indexExpression": { - "argumentTypes": null, - "id": 5069, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "10519:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10515:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5071, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10543:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5073, - "indexExpression": { - "argumentTypes": null, - "id": 5072, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "10547:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10543:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5074, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "10384:183:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 5075, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10571:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 5076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10574:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "hexValue": "31", - "id": 5077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10577:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 5078, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10580:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 5079, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10583:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 5080, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10586:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 5081, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10570:18:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_rational_1_by_1_$_t_rational_0_by_1_$_t_rational_1_by_1_$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_rational_0_by_1_$", - "typeString": "tuple(int_const 1,int_const 0,int_const 1,int_const 0,int_const 0,int_const 0)" - } - }, - "src": "10384:204:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5083, - "nodeType": "ExpressionStatement", - "src": "10384:204:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5084, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10610:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "functionReturnParameters": 4870, - "id": 5085, - "nodeType": "Return", - "src": "10603:10:10" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5088, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "10638:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5089, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "10645:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5090, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "10637:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5092, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "10662:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5093, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "10669:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5094, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "10676:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5095, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "10683:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5091, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "10654:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10654:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "10637:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5098, - "nodeType": "ExpressionStatement", - "src": "10637:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5099, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4842, - "src": "10716:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5100, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "10723:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5101, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "10715:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5103, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4858, - "src": "10740:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5104, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "src": "10747:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5105, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10754:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5107, - "indexExpression": { - "argumentTypes": null, - "id": 5106, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "10758:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10754:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5108, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10765:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5110, - "indexExpression": { - "argumentTypes": null, - "id": 5109, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "10769:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10765:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5102, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "10732:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10732:43:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "10715:60:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5113, - "nodeType": "ExpressionStatement", - "src": "10715:60:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5114, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "10802:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5115, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "10809:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5116, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "10801:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5118, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "10826:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5119, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "10833:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5120, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10840:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5122, - "indexExpression": { - "argumentTypes": null, - "id": 5121, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "10844:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10840:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5123, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10851:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5125, - "indexExpression": { - "argumentTypes": null, - "id": 5124, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "10855:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10851:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5117, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "10818:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10818:43:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "10801:60:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5128, - "nodeType": "ExpressionStatement", - "src": "10801:60:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5129, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "10888:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5130, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "10895:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5131, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "10887:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5133, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "10912:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5134, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "10919:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5135, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "10926:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5136, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "10933:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5132, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "10904:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10904:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "10887:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5139, - "nodeType": "ExpressionStatement", - "src": "10887:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5140, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4858, - "src": "10972:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5141, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "src": "10979:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5142, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "10971:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5144, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "10996:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5145, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "11003:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5146, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "11010:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5148, - "indexExpression": { - "argumentTypes": null, - "id": 5147, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "11014:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11010:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5149, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "11021:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5151, - "indexExpression": { - "argumentTypes": null, - "id": 5150, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "11025:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11021:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5143, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "10988:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10988:43:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "10971:60:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5154, - "nodeType": "ExpressionStatement", - "src": "10971:60:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5155, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "11082:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5156, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "11089:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5157, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11081:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5159, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "11106:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5160, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "11113:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5161, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "11120:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5162, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "11127:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5158, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "11098:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11098:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11081:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5165, - "nodeType": "ExpressionStatement", - "src": "11081:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5166, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "11172:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5168, - "indexExpression": { - "argumentTypes": null, - "id": 5167, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "11176:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11172:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5169, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "11183:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5171, - "indexExpression": { - "argumentTypes": null, - "id": 5170, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "11187:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11183:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5172, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11171:22:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5174, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "11204:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5175, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "11211:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5176, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "11218:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5177, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "11225:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5173, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "11196:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11196:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11171:60:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5180, - "nodeType": "ExpressionStatement", - "src": "11171:60:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5181, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "11265:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5182, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "11272:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5183, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11264:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5185, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4842, - "src": "11289:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5186, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "11296:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5187, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4842, - "src": "11303:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5188, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "11310:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5184, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "11281:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11281:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11264:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5191, - "nodeType": "ExpressionStatement", - "src": "11264:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5192, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "11337:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5193, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "11344:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5194, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11336:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5196, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "11361:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5197, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "11368:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5198, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "11375:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5199, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "11382:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5195, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "11353:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11353:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11336:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5202, - "nodeType": "ExpressionStatement", - "src": "11336:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5203, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "11413:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5204, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "11420:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5205, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11412:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5207, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "11437:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5208, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "11444:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5209, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "11451:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5210, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "11458:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5206, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "11429:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11429:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11412:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5213, - "nodeType": "ExpressionStatement", - "src": "11412:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5214, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "11499:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5215, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "11506:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5216, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11498:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5218, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4858, - "src": "11523:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5219, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "src": "11530:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "32", - "id": 5220, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11537:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 5217, - "name": "_FQ2Muc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4539, - "src": "11515:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11515:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11498:41:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5223, - "nodeType": "ExpressionStatement", - "src": "11498:41:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5224, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "11577:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5225, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "11584:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5226, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11576:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5228, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "11601:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5229, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "11608:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5230, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "11615:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5231, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "11622:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5227, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "11593:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11593:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11576:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5234, - "nodeType": "ExpressionStatement", - "src": "11576:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5235, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "11692:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5237, - "indexExpression": { - "argumentTypes": null, - "id": 5236, - "name": "PTXX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4153, - "src": "11696:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11692:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5238, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "11703:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5240, - "indexExpression": { - "argumentTypes": null, - "id": 5239, - "name": "PTXY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4156, - "src": "11707:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11703:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5241, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11691:22:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5243, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "11724:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5244, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "11731:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5245, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "11738:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5246, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "11745:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5242, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "11716:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11716:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11691:60:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5249, - "nodeType": "ExpressionStatement", - "src": "11691:60:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5250, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "11779:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5251, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "11786:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5252, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11778:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5254, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4858, - "src": "11803:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5255, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "src": "11810:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5256, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "11817:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5257, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "11824:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5253, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "11795:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11795:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11778:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5260, - "nodeType": "ExpressionStatement", - "src": "11778:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5261, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "11868:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5262, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "11875:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5263, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11867:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5265, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4842, - "src": "11892:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5266, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "11899:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5267, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "11906:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5268, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "11913:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5264, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "11884:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11884:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11867:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5271, - "nodeType": "ExpressionStatement", - "src": "11867:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5272, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4842, - "src": "11963:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5273, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "11970:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5274, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11962:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5276, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "11987:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5277, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "11994:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5278, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "12001:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5280, - "indexExpression": { - "argumentTypes": null, - "id": 5279, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "12005:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12001:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5281, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "12012:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5283, - "indexExpression": { - "argumentTypes": null, - "id": 5282, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "12016:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12012:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5275, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "11979:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11979:43:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11962:60:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5286, - "nodeType": "ExpressionStatement", - "src": "11962:60:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5287, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "12050:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5289, - "indexExpression": { - "argumentTypes": null, - "id": 5288, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "12054:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12050:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5290, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "12061:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5292, - "indexExpression": { - "argumentTypes": null, - "id": 5291, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "12065:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12061:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5293, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "12049:22:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5295, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "12082:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5296, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "12089:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5297, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4842, - "src": "12096:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5298, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "12103:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5294, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "12074:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12074:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "12049:60:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5301, - "nodeType": "ExpressionStatement", - "src": "12049:60:10" - } - ] - }, - "documentation": null, - "id": 5303, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_ECTwistAddJacobian", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4865, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4842, - "name": "pt1xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8462:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8462:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4844, - "name": "pt1xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8486:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4843, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8486:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4846, - "name": "pt1yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8510:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4845, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8510:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4848, - "name": "pt1yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8534:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4847, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8534:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4850, - "name": "pt1zx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8558:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4849, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8558:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4852, - "name": "pt1zy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8582:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8582:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4854, - "name": "pt2xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8606:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4853, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8606:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4856, - "name": "pt2xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8630:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4855, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8630:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4858, - "name": "pt2yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8654:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4857, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8654:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4860, - "name": "pt2yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8678:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4859, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8678:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4862, - "name": "pt2zx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8702:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4861, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8702:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4864, - "name": "pt2zy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8726:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4863, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8726:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8451:295:10" - }, - "returnParameters": { - "id": 4870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4869, - "name": "pt3", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8770:21:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6]" - }, - "typeName": { - "baseType": { - "id": 4866, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8770:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4868, - "length": { - "argumentTypes": null, - "hexValue": "36", - "id": 4867, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8778:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "nodeType": "ArrayTypeName", - "src": "8770:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", - "typeString": "uint256[6]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8769:23:10" - }, - "scope": 5633, - "src": "8423:3748:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5544, - "nodeType": "Block", - "src": "12596:1539:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5330, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "12608:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5331, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "12615:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5332, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "12607:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5334, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "12632:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5335, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "12639:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "33", - "id": 5336, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12646:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "id": 5333, - "name": "_FQ2Muc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4539, - "src": "12624:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12624:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "12607:41:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5339, - "nodeType": "ExpressionStatement", - "src": "12607:41:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5340, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "12669:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5341, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "12676:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5342, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "12668:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5344, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "12693:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5345, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "12700:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5346, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "12707:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5347, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "12714:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5343, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "12685:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12685:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "12668:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5350, - "nodeType": "ExpressionStatement", - "src": "12668:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5351, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5313, - "src": "12749:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5352, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5315, - "src": "12756:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5353, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "12748:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5355, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5309, - "src": "12773:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5356, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5311, - "src": "12780:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5357, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5313, - "src": "12787:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5358, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5315, - "src": "12794:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5354, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "12765:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12765:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "12748:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5361, - "nodeType": "ExpressionStatement", - "src": "12748:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5362, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "12825:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5363, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "12832:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5364, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "12824:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5366, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "12849:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5367, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "12856:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5368, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5309, - "src": "12863:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5369, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5311, - "src": "12870:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5365, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "12841:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12841:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "12824:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5372, - "nodeType": "ExpressionStatement", - "src": "12824:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5373, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "12897:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5374, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "12904:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5375, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "12896:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5377, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "12921:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5378, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "12928:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5379, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5313, - "src": "12935:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5380, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5315, - "src": "12942:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5376, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "12913:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12913:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "12896:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5383, - "nodeType": "ExpressionStatement", - "src": "12896:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5384, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "12977:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5385, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "12984:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5386, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "12976:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5388, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13001:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5389, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13008:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5390, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13015:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5391, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13022:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5387, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "12993:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12993:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "12976:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5394, - "nodeType": "ExpressionStatement", - "src": "12976:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5395, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5326, - "src": "13049:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5396, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5328, - "src": "13056:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5397, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13048:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5399, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "13073:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5400, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "13080:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "38", - "id": 5401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13087:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - } - ], - "id": 5398, - "name": "_FQ2Muc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4539, - "src": "13065:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13065:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13048:41:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5404, - "nodeType": "ExpressionStatement", - "src": "13048:41:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5405, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "13110:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5406, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "13117:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5407, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13109:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5409, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "13134:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5410, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "13141:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5411, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5326, - "src": "13148:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5412, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5328, - "src": "13155:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5408, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "13126:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13126:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13109:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5415, - "nodeType": "ExpressionStatement", - "src": "13109:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5416, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5326, - "src": "13194:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5417, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5328, - "src": "13201:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5418, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13193:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5420, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5313, - "src": "13218:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5421, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5315, - "src": "13225:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5422, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5313, - "src": "13232:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5423, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5315, - "src": "13239:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5419, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "13210:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13210:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13193:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5426, - "nodeType": "ExpressionStatement", - "src": "13193:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5427, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "13278:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5428, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "13285:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5429, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13277:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5431, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "13302:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5432, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "13309:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "34", - "id": 5433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13316:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - ], - "id": 5430, - "name": "_FQ2Muc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4539, - "src": "13294:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13294:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13277:41:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5436, - "nodeType": "ExpressionStatement", - "src": "13277:41:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5437, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "13339:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5438, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "13346:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5439, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13338:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5441, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "13363:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5442, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "13370:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5443, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "13377:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5444, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "13384:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5440, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "13355:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13355:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13338:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5447, - "nodeType": "ExpressionStatement", - "src": "13338:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5448, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "13415:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5449, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "13422:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5450, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13414:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5452, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "13439:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5453, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "13446:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5454, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13453:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5455, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13460:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5451, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "13431:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13431:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13414:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5458, - "nodeType": "ExpressionStatement", - "src": "13414:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5459, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13497:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5460, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13504:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5461, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13496:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5463, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5309, - "src": "13521:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5464, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5311, - "src": "13528:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "38", - "id": 5465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13535:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - } - ], - "id": 5462, - "name": "_FQ2Muc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4539, - "src": "13513:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13513:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13496:41:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5468, - "nodeType": "ExpressionStatement", - "src": "13496:41:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5469, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13558:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5470, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13565:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5471, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13557:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5473, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13582:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5474, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13589:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5475, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5309, - "src": "13596:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5476, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5311, - "src": "13603:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5472, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "13574:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13574:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13557:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5479, - "nodeType": "ExpressionStatement", - "src": "13557:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5480, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13634:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5481, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13641:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5482, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13633:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5484, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13658:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5485, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13665:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5486, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5326, - "src": "13672:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5487, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5328, - "src": "13679:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5483, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "13650:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13650:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13633:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5490, - "nodeType": "ExpressionStatement", - "src": "13633:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5491, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "13722:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5492, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "13729:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5493, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13721:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5495, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "13746:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5496, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "13753:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5497, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13760:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5498, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13767:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5494, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "13738:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13738:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13721:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5501, - "nodeType": "ExpressionStatement", - "src": "13721:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5502, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13835:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5503, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13842:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5504, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13834:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5506, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "13859:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5507, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "13866:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "32", - "id": 5508, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13873:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 5505, - "name": "_FQ2Muc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4539, - "src": "13851:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13851:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13834:41:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5511, - "nodeType": "ExpressionStatement", - "src": "13834:41:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5512, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13896:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5513, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13903:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5514, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13895:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5516, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13920:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5517, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13927:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5518, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5313, - "src": "13934:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5519, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5315, - "src": "13941:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5515, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "13912:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13912:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13895:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5522, - "nodeType": "ExpressionStatement", - "src": "13895:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5523, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5326, - "src": "13979:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5524, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5328, - "src": "13986:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5525, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13978:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5527, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5313, - "src": "14003:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5528, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5315, - "src": "14010:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5529, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5326, - "src": "14017:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5530, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5328, - "src": "14024:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5526, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "13995:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13995:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13978:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5533, - "nodeType": "ExpressionStatement", - "src": "13978:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5534, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5326, - "src": "14059:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5535, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5328, - "src": "14066:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5536, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "14058:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5538, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5326, - "src": "14083:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5539, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5328, - "src": "14090:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "38", - "id": 5540, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14097:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - } - ], - "id": 5537, - "name": "_FQ2Muc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4539, - "src": "14075:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14075:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "14058:41:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5543, - "nodeType": "ExpressionStatement", - "src": "14058:41:10" - } - ] - }, - "documentation": null, - "id": 5545, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_ECTwistDoubleJacobian", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5316, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5305, - "name": "pt1xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12221:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5304, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12221:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5307, - "name": "pt1xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12245:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12245:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5309, - "name": "pt1yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12269:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5308, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12269:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5311, - "name": "pt1yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12293:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5310, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12293:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5313, - "name": "pt1zx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12317:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5312, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12317:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5315, - "name": "pt1zy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12341:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5314, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12341:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12210:151:10" - }, - "returnParameters": { - "id": 5329, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5318, - "name": "pt2xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12426:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5317, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12426:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5320, - "name": "pt2xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12454:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5319, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12454:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5322, - "name": "pt2yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12482:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5321, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12482:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5324, - "name": "pt2yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12510:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5323, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12510:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5326, - "name": "pt2zx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12538:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5325, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12538:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5328, - "name": "pt2zy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12566:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5327, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12566:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12411:179:10" - }, - "scope": 5633, - "src": "12179:1956:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5631, - "nodeType": "Block", - "src": "14389:783:10", - "statements": [ - { - "body": { - "id": 5629, - "nodeType": "Block", - "src": "14415:750:10", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5569, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5547, - "src": "14435:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14439:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "14435:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5572, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14434:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14445:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14434:12:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5605, - "nodeType": "IfStatement", - "src": "14430:457:10", - "trueBody": { - "id": 5604, - "nodeType": "Block", - "src": "14448:439:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5575, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5564, - "src": "14467:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5577, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5564, - "src": "14515:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5579, - "indexExpression": { - "argumentTypes": null, - "id": 5578, - "name": "PTXX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4153, - "src": "14519:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14515:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5580, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5564, - "src": "14547:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5582, - "indexExpression": { - "argumentTypes": null, - "id": 5581, - "name": "PTXY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4156, - "src": "14551:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14547:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5583, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5564, - "src": "14579:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5585, - "indexExpression": { - "argumentTypes": null, - "id": 5584, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "14583:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14579:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5586, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5564, - "src": "14611:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5588, - "indexExpression": { - "argumentTypes": null, - "id": 5587, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "14615:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14611:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5589, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5564, - "src": "14643:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5591, - "indexExpression": { - "argumentTypes": null, - "id": 5590, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "14647:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14643:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5592, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5564, - "src": "14675:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5594, - "indexExpression": { - "argumentTypes": null, - "id": 5593, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "14679:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14675:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5595, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5549, - "src": "14707:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5596, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5551, - "src": "14735:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5597, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5553, - "src": "14763:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5598, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5555, - "src": "14791:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5599, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5557, - "src": "14819:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5600, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5559, - "src": "14847:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5576, - "name": "_ECTwistAddJacobian", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5303, - "src": "14473:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$6_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256) pure returns (uint256[6] memory)" - } - }, - "id": 5601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14473:398:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "src": "14467:404:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5603, - "nodeType": "ExpressionStatement", - "src": "14467:404:10" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5606, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5549, - "src": "14902:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5607, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5551, - "src": "14909:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5608, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5553, - "src": "14916:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5609, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5555, - "src": "14923:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5610, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5557, - "src": "14930:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5611, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5559, - "src": "14937:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5612, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "14901:42:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5614, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5549, - "src": "14987:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5615, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5551, - "src": "15011:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5616, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5553, - "src": "15035:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5617, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5555, - "src": "15059:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5618, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5557, - "src": "15083:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5619, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5559, - "src": "15107:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5613, - "name": "_ECTwistDoubleJacobian", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5545, - "src": "14946:22:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) pure returns (uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "id": 5620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14946:181:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "src": "14901:226:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5622, - "nodeType": "ExpressionStatement", - "src": "14901:226:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5623, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5547, - "src": "15144:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5624, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5547, - "src": "15148:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5625, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15152:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "15148:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15144:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5628, - "nodeType": "ExpressionStatement", - "src": "15144:9:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5566, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5547, - "src": "14407:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14412:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14407:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5630, - "nodeType": "WhileStatement", - "src": "14400:765:10" - } - ] - }, - "documentation": null, - "id": 5632, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_ECTwistMulJacobian", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5560, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5547, - "name": "d", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5632, - "src": "14182:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14182:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5549, - "name": "pt1xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5632, - "src": "14202:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5548, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14202:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5551, - "name": "pt1xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5632, - "src": "14226:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5550, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14226:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5553, - "name": "pt1yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5632, - "src": "14250:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5552, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14250:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5555, - "name": "pt1yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5632, - "src": "14274:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5554, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14274:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5557, - "name": "pt1zx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5632, - "src": "14298:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5556, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14298:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5559, - "name": "pt1zy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5632, - "src": "14322:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5558, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14322:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14171:171:10" - }, - "returnParameters": { - "id": 5565, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5564, - "name": "pt2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5632, - "src": "14366:21:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6]" - }, - "typeName": { - "baseType": { - "id": 5561, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14366:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5563, - "length": { - "argumentTypes": null, - "hexValue": "36", - "id": 5562, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14374:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "nodeType": "ArrayTypeName", - "src": "14366:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", - "typeString": "uint256[6]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14365:23:10" - }, - "scope": 5633, - "src": "14143:1029:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6717, - "src": "251:14924:10" - }, - { - "id": 5634, - "literals": [ - "solidity", - "^", - "0.6", - ".1" - ], - "nodeType": "PragmaDirective", - "src": "16287:23:10" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 6275, - "linearizedBaseContracts": [ - 6275 - ], - "name": "Pairing", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Pairing.G1Point", - "id": 5639, - "members": [ - { - "constant": false, - "id": 5636, - "name": "X", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5639, - "src": "16363:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16363:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5638, - "name": "Y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5639, - "src": "16383:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5637, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16383:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "G1Point", - "nodeType": "StructDefinition", - "scope": 6275, - "src": "16337:63:10", - "visibility": "public" - }, - { - "canonicalName": "Pairing.G2Point", - "id": 5648, - "members": [ - { - "constant": false, - "id": 5643, - "name": "X", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5648, - "src": "16487:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 5640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16487:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5642, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16495:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "16487:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5647, - "name": "Y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5648, - "src": "16510:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 5644, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16510:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5646, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 5645, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16518:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "16510:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "G2Point", - "nodeType": "StructDefinition", - "scope": 6275, - "src": "16461:69:10", - "visibility": "public" - }, - { - "body": { - "id": 5658, - "nodeType": "Block", - "src": "16628:39:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 5654, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16654:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "argumentTypes": null, - "hexValue": "32", - "id": 5655, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16657:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 5653, - "name": "G1Point", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5639, - "src": "16646:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$5639_storage_ptr_$", - "typeString": "type(struct Pairing.G1Point storage pointer)" - } - }, - "id": 5656, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16646:13:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "functionReturnParameters": 5652, - "id": 5657, - "nodeType": "Return", - "src": "16639:20:10" - } - ] - }, - "documentation": "@return the generator of G1", - "id": 5659, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "P1", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5649, - "nodeType": "ParameterList", - "parameters": [], - "src": "16586:2:10" - }, - "returnParameters": { - "id": 5652, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5651, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5659, - "src": "16612:14:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 5650, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "16612:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16611:16:10" - }, - "scope": 6275, - "src": "16575:92:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5673, - "nodeType": "Block", - "src": "16765:535:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "3131353539373332303332393836333837313037393931303034303231333932323835373833393235383132383631383231313932353330393137343033313531343532333931383035363334", - "id": 5665, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16845:77:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_11559732032986387107991004021392285783925812861821192530917403151452391805634_by_1", - "typeString": "int_const 1155...(69 digits omitted)...5634" - }, - "value": "11559732032986387107991004021392285783925812861821192530917403151452391805634" - }, - { - "argumentTypes": null, - "hexValue": "3130383537303436393939303233303537313335393434353730373632323332383239343831333730373536333539353738353138303836393930353139393933323835363535383532373831", - "id": 5666, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16945:77:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10857046999023057135944570762232829481370756359578518086990519993285655852781_by_1", - "typeString": "int_const 1085...(69 digits omitted)...2781" - }, - "value": "10857046999023057135944570762232829481370756359578518086990519993285655852781" - } - ], - "id": 5667, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16822:219:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "34303832333637383735383633343333363831333332323033343033313435343335353638333136383531333237353933343031323038313035373431303736323134313230303933353331", - "id": 5668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17083:76:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4082367875863433681332203403145435568316851327593401208105741076214120093531_by_1", - "typeString": "int_const 4082...(68 digits omitted)...3531" - }, - "value": "4082367875863433681332203403145435568316851327593401208105741076214120093531" - }, - { - "argumentTypes": null, - "hexValue": "38343935363533393233313233343331343137363034393733323437343839323732343338343138313930353837323633363030313438373730323830363439333036393538313031393330", - "id": 5669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17182:76:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8495653923123431417604973247489272438418190587263600148770280649306958101930_by_1", - "typeString": "int_const 8495...(68 digits omitted)...1930" - }, - "value": "8495653923123431417604973247489272438418190587263600148770280649306958101930" - } - ], - "id": 5670, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17060:217:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - ], - "id": 5664, - "name": "G2Point", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5648, - "src": "16796:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G2Point_$5648_storage_ptr_$", - "typeString": "type(struct Pairing.G2Point storage pointer)" - } - }, - "id": 5671, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16796:496:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "functionReturnParameters": 5663, - "id": 5672, - "nodeType": "Return", - "src": "16776:516:10" - } - ] - }, - "documentation": "@return the generator of G2", - "id": 5674, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "P2", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5660, - "nodeType": "ParameterList", - "parameters": [], - "src": "16723:2:10" - }, - "returnParameters": { - "id": 5663, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5662, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5674, - "src": "16749:14:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 5661, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "16749:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16748:16:10" - }, - "scope": 6275, - "src": "16712:588:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5712, - "nodeType": "Block", - "src": "17461:279:10", - "statements": [ - { - "assignments": [ - 5682 - ], - "declarations": [ - { - "constant": false, - "id": 5682, - "name": "q", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5712, - "src": "17531:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5681, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17531:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5684, - "initialValue": { - "argumentTypes": null, - "hexValue": "3231383838323432383731383339323735323232323436343035373435323537323735303838363936333131313537323937383233363632363839303337383934363435323236323038353833", - "id": 5683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17553:77:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21888242871839275222246405745257275088696311157297823662689037894645226208583_by_1", - "typeString": "int_const 2188...(69 digits omitted)...8583" - }, - "value": "21888242871839275222246405745257275088696311157297823662689037894645226208583" - }, - "nodeType": "VariableDeclarationStatement", - "src": "17531:99:10" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5685, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5676, - "src": "17645:1:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5686, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5636, - "src": "17645:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5687, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17652:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17645:8:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5689, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5676, - "src": "17657:1:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5690, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5638, - "src": "17657:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5691, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17664:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17657:8:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17645:20:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5699, - "nodeType": "IfStatement", - "src": "17641:46:10", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5695, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17682:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 5696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17685:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5694, - "name": "G1Point", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5639, - "src": "17674:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$5639_storage_ptr_$", - "typeString": "type(struct Pairing.G1Point storage pointer)" - } - }, - "id": 5697, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17674:13:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "functionReturnParameters": 5680, - "id": 5698, - "nodeType": "Return", - "src": "17667:20:10" - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5701, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5676, - "src": "17713:1:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5702, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5636, - "src": "17713:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5703, - "name": "q", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5682, - "src": "17718:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5704, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5676, - "src": "17723:1:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5705, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5638, - "src": "17723:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 5706, - "name": "q", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5682, - "src": "17729:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17723:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5708, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17722:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17718:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5700, - "name": "G1Point", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5639, - "src": "17705:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$5639_storage_ptr_$", - "typeString": "type(struct Pairing.G1Point storage pointer)" - } - }, - "id": 5710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17705:27:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "functionReturnParameters": 5680, - "id": 5711, - "nodeType": "Return", - "src": "17698:34:10" - } - ] - }, - "documentation": "@return the negation of p, i.e. p.addition(p.negate()) should be zero.", - "id": 5713, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "negate", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5677, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5676, - "name": "p", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5713, - "src": "17404:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 5675, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "17404:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17403:18:10" - }, - "returnParameters": { - "id": 5680, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5679, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5713, - "src": "17445:14:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 5678, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "17445:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17444:16:10" - }, - "scope": 6275, - "src": "17388:352:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5765, - "nodeType": "Block", - "src": "17924:467:10", - "statements": [ - { - "assignments": [ - 5727 - ], - "declarations": [ - { - "constant": false, - "id": 5727, - "name": "input", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5765, - "src": "17935:23:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4]" - }, - "typeName": { - "baseType": { - "id": 5725, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17935:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5726, - "length": { - "argumentTypes": null, - "hexValue": "34", - "id": 5724, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17943:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "nodeType": "ArrayTypeName", - "src": "17935:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_storage_ptr", - "typeString": "uint256[4]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5728, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "17935:23:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5729, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5727, - "src": "17969:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4] memory" - } - }, - "id": 5731, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5730, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17975:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "17969:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5732, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5715, - "src": "17980:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5733, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5636, - "src": "17980:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17969:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5735, - "nodeType": "ExpressionStatement", - "src": "17969:15:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5736, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5727, - "src": "17995:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4] memory" - } - }, - "id": 5738, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5737, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18001:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "17995:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5739, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5715, - "src": "18006:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5740, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5638, - "src": "18006:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17995:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5742, - "nodeType": "ExpressionStatement", - "src": "17995:15:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5743, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5727, - "src": "18021:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4] memory" - } - }, - "id": 5745, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18027:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18021:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5746, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "18032:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5747, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5636, - "src": "18032:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18021:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5749, - "nodeType": "ExpressionStatement", - "src": "18021:15:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5750, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5727, - "src": "18047:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4] memory" - } - }, - "id": 5752, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18053:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18047:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5753, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "18058:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5754, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5638, - "src": "18058:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18047:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5756, - "nodeType": "ExpressionStatement", - "src": "18047:15:10" - }, - { - "assignments": [ - 5758 - ], - "declarations": [ - { - "constant": false, - "id": 5758, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5765, - "src": "18073:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5757, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "18073:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5759, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "18073:12:10" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "18105:252:10", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18120:64:10", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "functionName": { - "name": "gas", - "nodeType": "YulIdentifier", - "src": "18146:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "18146:5:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18153:4:10", - "type": "", - "value": "2000" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "18142:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "18142:16:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18160:1:10", - "type": "", - "value": "6" - }, - { - "name": "input", - "nodeType": "YulIdentifier", - "src": "18163:5:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18170:4:10", - "type": "", - "value": "0xc0" - }, - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "18176:1:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18179:4:10", - "type": "", - "value": "0x60" - } - ], - "functionName": { - "name": "staticcall", - "nodeType": "YulIdentifier", - "src": "18131:10:10" - }, - "nodeType": "YulFunctionCall", - "src": "18131:53:10" - }, - "variableNames": [ - { - "name": "success", - "nodeType": "YulIdentifier", - "src": "18120:7:10" - } - ] - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "18295:51:10", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "invalid", - "nodeType": "YulIdentifier", - "src": "18318:7:10" - }, - "nodeType": "YulFunctionCall", - "src": "18318:9:10" - }, - "nodeType": "YulExpressionStatement", - "src": "18318:9:10" - } - ] - }, - "nodeType": "YulCase", - "src": "18288:58:10", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18293:1:10", - "type": "", - "value": "0" - } - } - ], - "expression": { - "name": "success", - "nodeType": "YulIdentifier", - "src": "18263:7:10" - }, - "nodeType": "YulSwitch", - "src": "18256:90:10" - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 5727, - "isOffset": false, - "isSlot": false, - "src": "18163:5:10", - "valueSize": 1 - }, - { - "declaration": 5720, - "isOffset": false, - "isSlot": false, - "src": "18176:1:10", - "valueSize": 1 - }, - { - "declaration": 5758, - "isOffset": false, - "isSlot": false, - "src": "18120:7:10", - "valueSize": 1 - }, - { - "declaration": 5758, - "isOffset": false, - "isSlot": false, - "src": "18263:7:10", - "valueSize": 1 - } - ], - "id": 5760, - "nodeType": "InlineAssembly", - "src": "18096:261:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5762, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5758, - "src": "18375:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5761, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18367:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18367:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5764, - "nodeType": "ExpressionStatement", - "src": "18367:16:10" - } - ] - }, - "documentation": "@return r the sum of two points of G1", - "id": 5766, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "addition", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5718, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5715, - "name": "p1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "17813:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 5714, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "17813:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5717, - "name": "p2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "17832:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 5716, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "17832:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17812:38:10" - }, - "returnParameters": { - "id": 5721, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5720, - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "17901:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 5719, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "17901:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17900:18:10" - }, - "scope": 6275, - "src": "17795:596:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5830, - "nodeType": "Block", - "src": "18575:259:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5775, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5773, - "src": "18587:1:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5778, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5643, - "src": "18587:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5779, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18591:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18587:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5780, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5773, - "src": "18595:1:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5781, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5643, - "src": "18595:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5783, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5782, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18599:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18595:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5784, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5773, - "src": "18603:1:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5785, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5647, - "src": "18603:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5787, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5786, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18607:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18603:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5788, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5773, - "src": "18611:1:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5789, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5647, - "src": "18611:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5791, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5790, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18615:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18611:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5792, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "18586:32:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5795, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5768, - "src": "18654:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5796, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5643, - "src": "18654:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5798, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18659:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18654:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5799, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5768, - "src": "18676:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5800, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5643, - "src": "18676:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5802, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18681:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18676:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5803, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5768, - "src": "18698:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5804, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5647, - "src": "18698:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5806, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5805, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18703:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18698:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5807, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5768, - "src": "18720:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5808, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5647, - "src": "18720:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5810, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5809, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18725:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18720:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5811, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5770, - "src": "18742:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5812, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5643, - "src": "18742:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5814, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5813, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18747:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18742:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5815, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5770, - "src": "18764:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5816, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5643, - "src": "18764:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5818, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5817, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18769:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18764:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5819, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5770, - "src": "18786:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5820, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5647, - "src": "18786:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5822, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5821, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18791:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18786:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5823, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5770, - "src": "18808:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5824, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5647, - "src": "18808:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5826, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5825, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18813:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18808:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5793, - "name": "BN256G2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5633, - "src": "18621:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_BN256G2_$5633_$", - "typeString": "type(library BN256G2)" - } - }, - "id": 5794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ECTwistAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 4339, - "src": "18621:18:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256) view returns (uint256,uint256,uint256,uint256)" - } - }, - "id": 5827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18621:205:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256)" - } - }, - "src": "18586:240:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5829, - "nodeType": "ExpressionStatement", - "src": "18586:240:10" - } - ] - }, - "documentation": "@return r the sum of two points of G2", - "id": 5831, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "addition", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5771, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5768, - "name": "p1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5831, - "src": "18464:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 5767, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "18464:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5770, - "name": "p2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5831, - "src": "18483:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 5769, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "18483:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18463:38:10" - }, - "returnParameters": { - "id": 5774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5773, - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5831, - "src": "18552:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 5772, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "18552:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18551:18:10" - }, - "scope": 6275, - "src": "18446:388:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5875, - "nodeType": "Block", - "src": "19116:436:10", - "statements": [ - { - "assignments": [ - 5845 - ], - "declarations": [ - { - "constant": false, - "id": 5845, - "name": "input", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5875, - "src": "19127:23:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$3_memory_ptr", - "typeString": "uint256[3]" - }, - "typeName": { - "baseType": { - "id": 5843, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19127:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5844, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 5842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19135:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "19127:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$3_storage_ptr", - "typeString": "uint256[3]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5846, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19127:23:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5847, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5845, - "src": "19161:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$3_memory_ptr", - "typeString": "uint256[3] memory" - } - }, - "id": 5849, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5848, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19167:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "19161:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5850, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5833, - "src": "19172:1:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5851, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5636, - "src": "19172:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19161:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5853, - "nodeType": "ExpressionStatement", - "src": "19161:14:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5854, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5845, - "src": "19186:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$3_memory_ptr", - "typeString": "uint256[3] memory" - } - }, - "id": 5856, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19192:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "19186:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5857, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5833, - "src": "19197:1:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5858, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5638, - "src": "19197:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19186:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5860, - "nodeType": "ExpressionStatement", - "src": "19186:14:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5861, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5845, - "src": "19211:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$3_memory_ptr", - "typeString": "uint256[3] memory" - } - }, - "id": 5863, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5862, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19217:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "19211:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5864, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5835, - "src": "19222:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19211:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5866, - "nodeType": "ExpressionStatement", - "src": "19211:12:10" - }, - { - "assignments": [ - 5868 - ], - "declarations": [ - { - "constant": false, - "id": 5868, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5875, - "src": "19234:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5867, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "19234:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5869, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19234:12:10" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "19266:252:10", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "19281:64:10", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "functionName": { - "name": "gas", - "nodeType": "YulIdentifier", - "src": "19307:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "19307:5:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19314:4:10", - "type": "", - "value": "2000" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "19303:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "19303:16:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19321:1:10", - "type": "", - "value": "7" - }, - { - "name": "input", - "nodeType": "YulIdentifier", - "src": "19324:5:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19331:4:10", - "type": "", - "value": "0x80" - }, - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "19337:1:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19340:4:10", - "type": "", - "value": "0x60" - } - ], - "functionName": { - "name": "staticcall", - "nodeType": "YulIdentifier", - "src": "19292:10:10" - }, - "nodeType": "YulFunctionCall", - "src": "19292:53:10" - }, - "variableNames": [ - { - "name": "success", - "nodeType": "YulIdentifier", - "src": "19281:7:10" - } - ] - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "19456:51:10", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "invalid", - "nodeType": "YulIdentifier", - "src": "19479:7:10" - }, - "nodeType": "YulFunctionCall", - "src": "19479:9:10" - }, - "nodeType": "YulExpressionStatement", - "src": "19479:9:10" - } - ] - }, - "nodeType": "YulCase", - "src": "19449:58:10", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19454:1:10", - "type": "", - "value": "0" - } - } - ], - "expression": { - "name": "success", - "nodeType": "YulIdentifier", - "src": "19424:7:10" - }, - "nodeType": "YulSwitch", - "src": "19417:90:10" - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 5845, - "isOffset": false, - "isSlot": false, - "src": "19324:5:10", - "valueSize": 1 - }, - { - "declaration": 5838, - "isOffset": false, - "isSlot": false, - "src": "19337:1:10", - "valueSize": 1 - }, - { - "declaration": 5868, - "isOffset": false, - "isSlot": false, - "src": "19281:7:10", - "valueSize": 1 - }, - { - "declaration": 5868, - "isOffset": false, - "isSlot": false, - "src": "19424:7:10", - "valueSize": 1 - } - ], - "id": 5870, - "nodeType": "InlineAssembly", - "src": "19257:261:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5872, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5868, - "src": "19536:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5871, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19528:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19528:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5874, - "nodeType": "ExpressionStatement", - "src": "19528:16:10" - } - ] - }, - "documentation": "@return r the product of a point on G1 and a scalar, i.e.\n p == p.scalar_mul(1) and p.addition(p) == p.scalar_mul(2) for all points p.", - "id": 5876, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "scalar_mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5833, - "name": "p", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5876, - "src": "19014:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 5832, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "19014:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5835, - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5876, - "src": "19032:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19032:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19013:29:10" - }, - "returnParameters": { - "id": 5839, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5838, - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5876, - "src": "19093:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 5837, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "19093:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19092:18:10" - }, - "scope": 6275, - "src": "18994:558:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6036, - "nodeType": "Block", - "src": "19890:1039:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5888, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "19909:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 5889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19909:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5890, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5882, - "src": "19922:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 5891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19922:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19909:22:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5887, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19901:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19901:31:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5894, - "nodeType": "ExpressionStatement", - "src": "19901:31:10" - }, - { - "assignments": [ - 5896 - ], - "declarations": [ - { - "constant": false, - "id": 5896, - "name": "elements", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6036, - "src": "19943:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5895, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19943:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5899, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5897, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "19962:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 5898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19962:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19943:28:10" - }, - { - "assignments": [ - 5901 - ], - "declarations": [ - { - "constant": false, - "id": 5901, - "name": "inputSize", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6036, - "src": "19982:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5900, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19982:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5905, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5902, - "name": "elements", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5896, - "src": "20002:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "36", - "id": 5903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20013:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "src": "20002:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19982:32:10" - }, - { - "assignments": [ - 5910 - ], - "declarations": [ - { - "constant": false, - "id": 5910, - "name": "input", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6036, - "src": "20025:22:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 5908, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20025:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5909, - "length": null, - "nodeType": "ArrayTypeName", - "src": "20025:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5916, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5914, - "name": "inputSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5901, - "src": "20064:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5913, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "20050:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 5911, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20054:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5912, - "length": null, - "nodeType": "ArrayTypeName", - "src": "20054:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 5915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20050:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20025:49:10" - }, - { - "body": { - "id": 6013, - "nodeType": "Block", - "src": "20124:270:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5927, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5910, - "src": "20139:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 5933, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5928, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20145:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "36", - "id": 5929, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20149:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "src": "20145:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5931, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20153:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20145:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "20139:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5934, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "20158:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 5936, - "indexExpression": { - "argumentTypes": null, - "id": 5935, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20161:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20158:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5937, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5636, - "src": "20158:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20139:26:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5939, - "nodeType": "ExpressionStatement", - "src": "20139:26:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5940, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5910, - "src": "20180:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 5946, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5941, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20186:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "36", - "id": 5942, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20190:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "src": "20186:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5944, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20194:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "20186:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "20180:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5947, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "20199:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 5949, - "indexExpression": { - "argumentTypes": null, - "id": 5948, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20202:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20199:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5950, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5638, - "src": "20199:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20180:26:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5952, - "nodeType": "ExpressionStatement", - "src": "20180:26:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5953, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5910, - "src": "20221:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 5959, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5954, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20227:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "36", - "id": 5955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20231:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "src": "20227:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5957, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20235:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "20227:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "20221:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5960, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5882, - "src": "20240:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 5962, - "indexExpression": { - "argumentTypes": null, - "id": 5961, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20243:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20240:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5963, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5643, - "src": "20240:7:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5965, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5964, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20248:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20240:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20221:29:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5967, - "nodeType": "ExpressionStatement", - "src": "20221:29:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5968, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5910, - "src": "20265:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 5974, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5969, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20271:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "36", - "id": 5970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20275:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "src": "20271:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5972, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20279:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "20271:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "20265:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5975, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5882, - "src": "20284:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 5977, - "indexExpression": { - "argumentTypes": null, - "id": 5976, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20287:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20284:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5978, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5643, - "src": "20284:7:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5980, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5979, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20292:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20284:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20265:29:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5982, - "nodeType": "ExpressionStatement", - "src": "20265:29:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5983, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5910, - "src": "20309:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 5989, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5984, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20315:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "36", - "id": 5985, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20319:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "src": "20315:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 5987, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20323:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "20315:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "20309:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5990, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5882, - "src": "20328:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 5992, - "indexExpression": { - "argumentTypes": null, - "id": 5991, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20331:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20328:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5993, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5647, - "src": "20328:7:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5995, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5994, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20336:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20328:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20309:29:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5997, - "nodeType": "ExpressionStatement", - "src": "20309:29:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5998, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5910, - "src": "20353:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6004, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5999, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20359:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "36", - "id": 6000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20363:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "src": "20359:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "35", - "id": 6002, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20367:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - }, - "src": "20359:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "20353:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6005, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5882, - "src": "20372:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 6007, - "indexExpression": { - "argumentTypes": null, - "id": 6006, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20375:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20372:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6008, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5647, - "src": "20372:7:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 6010, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20380:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20372:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20353:29:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6012, - "nodeType": "ExpressionStatement", - "src": "20353:29:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5921, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20105:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5922, - "name": "elements", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5896, - "src": "20109:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20105:12:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6014, - "initializationExpression": { - "assignments": [ - 5918 - ], - "declarations": [ - { - "constant": false, - "id": 5918, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6014, - "src": "20090:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5917, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20090:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5920, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20102:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "20090:13:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 5925, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "20119:3:10", - "subExpression": { - "argumentTypes": null, - "id": 5924, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20119:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5926, - "nodeType": "ExpressionStatement", - "src": "20119:3:10" - }, - "nodeType": "ForStatement", - "src": "20085:309:10" - }, - { - "assignments": [ - 6020 - ], - "declarations": [ - { - "constant": false, - "id": 6020, - "name": "out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6036, - "src": "20404:21:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$1_memory_ptr", - "typeString": "uint256[1]" - }, - "typeName": { - "baseType": { - "id": 6018, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20404:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6019, - "length": { - "argumentTypes": null, - "hexValue": "31", - "id": 6017, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20412:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "ArrayTypeName", - "src": "20404:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$1_storage_ptr", - "typeString": "uint256[1]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6021, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "20404:21:10" - }, - { - "assignments": [ - 6023 - ], - "declarations": [ - { - "constant": false, - "id": 6023, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6036, - "src": "20436:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6022, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "20436:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6024, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "20436:12:10" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "20468:398:10", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "20483:210:10", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "functionName": { - "name": "gas", - "nodeType": "YulIdentifier", - "src": "20527:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "20527:5:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20534:4:10", - "type": "", - "value": "2000" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "20523:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "20523:16:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20558:1:10", - "type": "", - "value": "8" - }, - { - "arguments": [ - { - "name": "input", - "nodeType": "YulIdentifier", - "src": "20582:5:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20589:4:10", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20578:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "20578:16:10" - }, - { - "arguments": [ - { - "name": "inputSize", - "nodeType": "YulIdentifier", - "src": "20617:9:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20628:4:10", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "20613:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "20613:20:10" - }, - { - "name": "out", - "nodeType": "YulIdentifier", - "src": "20652:3:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20674:4:10", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "staticcall", - "nodeType": "YulIdentifier", - "src": "20494:10:10" - }, - "nodeType": "YulFunctionCall", - "src": "20494:199:10" - }, - "variableNames": [ - { - "name": "success", - "nodeType": "YulIdentifier", - "src": "20483:7:10" - } - ] - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "20804:51:10", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "invalid", - "nodeType": "YulIdentifier", - "src": "20827:7:10" - }, - "nodeType": "YulFunctionCall", - "src": "20827:9:10" - }, - "nodeType": "YulExpressionStatement", - "src": "20827:9:10" - } - ] - }, - "nodeType": "YulCase", - "src": "20797:58:10", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20802:1:10", - "type": "", - "value": "0" - } - } - ], - "expression": { - "name": "success", - "nodeType": "YulIdentifier", - "src": "20772:7:10" - }, - "nodeType": "YulSwitch", - "src": "20765:90:10" - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 5910, - "isOffset": false, - "isSlot": false, - "src": "20582:5:10", - "valueSize": 1 - }, - { - "declaration": 5901, - "isOffset": false, - "isSlot": false, - "src": "20617:9:10", - "valueSize": 1 - }, - { - "declaration": 6020, - "isOffset": false, - "isSlot": false, - "src": "20652:3:10", - "valueSize": 1 - }, - { - "declaration": 6023, - "isOffset": false, - "isSlot": false, - "src": "20483:7:10", - "valueSize": 1 - }, - { - "declaration": 6023, - "isOffset": false, - "isSlot": false, - "src": "20772:7:10", - "valueSize": 1 - } - ], - "id": 6025, - "nodeType": "InlineAssembly", - "src": "20459:407:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6027, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6023, - "src": "20884:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6026, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20876:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 6028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20876:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6029, - "nodeType": "ExpressionStatement", - "src": "20876:16:10" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6030, - "name": "out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6020, - "src": "20910:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$1_memory_ptr", - "typeString": "uint256[1] memory" - } - }, - "id": 6032, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6031, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20914:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20910:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20920:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20910:11:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5886, - "id": 6035, - "nodeType": "Return", - "src": "20903:18:10" - } - ] - }, - "documentation": "@return the result of computing the pairing check\n e(p1[0], p2[0]) * .... * e(p1[n], p2[n]) == 1\n For example pairing([P1(), P1().negate()], [P2(), P2()]) should\n return true.", - "id": 6037, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "pairing", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5883, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5879, - "name": "p1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6037, - "src": "19787:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 5877, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "19787:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "id": 5878, - "length": null, - "nodeType": "ArrayTypeName", - "src": "19787:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G1Point[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5882, - "name": "p2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6037, - "src": "19808:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 5880, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "19808:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "id": 5881, - "length": null, - "nodeType": "ArrayTypeName", - "src": "19808:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G2Point[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19786:42:10" - }, - "returnParameters": { - "id": 5886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5885, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6037, - "src": "19879:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5884, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "19879:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19878:6:10" - }, - "scope": 6275, - "src": "19770:1159:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6099, - "nodeType": "Block", - "src": "21170:223:10", - "statements": [ - { - "assignments": [ - 6053 - ], - "declarations": [ - { - "constant": false, - "id": 6053, - "name": "p1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6099, - "src": "21181:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6051, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "21181:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "id": 6052, - "length": null, - "nodeType": "ArrayTypeName", - "src": "21181:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G1Point[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6059, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "32", - "id": 6057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21217:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 6056, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "21203:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_$", - "typeString": "function (uint256) pure returns (struct Pairing.G1Point memory[] memory)" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6054, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "21207:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "id": 6055, - "length": null, - "nodeType": "ArrayTypeName", - "src": "21207:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G1Point[]" - } - } - }, - "id": 6058, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21203:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21181:38:10" - }, - { - "assignments": [ - 6063 - ], - "declarations": [ - { - "constant": false, - "id": 6063, - "name": "p2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6099, - "src": "21230:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6061, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "21230:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "id": 6062, - "length": null, - "nodeType": "ArrayTypeName", - "src": "21230:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G2Point[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6069, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "32", - "id": 6067, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21266:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 6066, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "21252:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_$", - "typeString": "function (uint256) pure returns (struct Pairing.G2Point memory[] memory)" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6064, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "21256:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "id": 6065, - "length": null, - "nodeType": "ArrayTypeName", - "src": "21256:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G2Point[]" - } - } - }, - "id": 6068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21252:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21230:38:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6070, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6053, - "src": "21279:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6072, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21282:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21279:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6073, - "name": "a1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6039, - "src": "21287:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "21279:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6075, - "nodeType": "ExpressionStatement", - "src": "21279:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6076, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6053, - "src": "21300:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6078, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21303:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21300:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6079, - "name": "b1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6043, - "src": "21308:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "21300:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6081, - "nodeType": "ExpressionStatement", - "src": "21300:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6082, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6063, - "src": "21321:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 6084, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6083, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21324:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21321:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6085, - "name": "a2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6041, - "src": "21329:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "21321:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6087, - "nodeType": "ExpressionStatement", - "src": "21321:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6088, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6063, - "src": "21342:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 6090, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6089, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21345:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21342:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6091, - "name": "b2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6045, - "src": "21350:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "21342:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6093, - "nodeType": "ExpressionStatement", - "src": "21342:10:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6095, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6053, - "src": "21378:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - { - "argumentTypes": null, - "id": 6096, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6063, - "src": "21382:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - }, - { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - ], - "id": 6094, - "name": "pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6037, - "src": "21370:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr_$_t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (struct Pairing.G1Point memory[] memory,struct Pairing.G2Point memory[] memory) view returns (bool)" - } - }, - "id": 6097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21370:15:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6049, - "id": 6098, - "nodeType": "Return", - "src": "21363:22:10" - } - ] - }, - "documentation": "Convenience method for a pairing check for two pairs.", - "id": 6100, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "pairingProd2", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6039, - "name": "a1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6100, - "src": "21032:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6038, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "21032:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6041, - "name": "a2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6100, - "src": "21060:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6040, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "21060:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6043, - "name": "b1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6100, - "src": "21088:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6042, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "21088:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6045, - "name": "b2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6100, - "src": "21116:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6044, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "21116:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21021:119:10" - }, - "returnParameters": { - "id": 6049, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6048, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6100, - "src": "21164:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6047, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "21164:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21163:6:10" - }, - "scope": 6275, - "src": "21000:393:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6178, - "nodeType": "Block", - "src": "21692:265:10", - "statements": [ - { - "assignments": [ - 6120 - ], - "declarations": [ - { - "constant": false, - "id": 6120, - "name": "p1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6178, - "src": "21703:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6118, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "21703:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "id": 6119, - "length": null, - "nodeType": "ArrayTypeName", - "src": "21703:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G1Point[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6126, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6124, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21739:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "id": 6123, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "21725:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_$", - "typeString": "function (uint256) pure returns (struct Pairing.G1Point memory[] memory)" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6121, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "21729:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "id": 6122, - "length": null, - "nodeType": "ArrayTypeName", - "src": "21729:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G1Point[]" - } - } - }, - "id": 6125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21725:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21703:38:10" - }, - { - "assignments": [ - 6130 - ], - "declarations": [ - { - "constant": false, - "id": 6130, - "name": "p2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6178, - "src": "21752:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6128, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "21752:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "id": 6129, - "length": null, - "nodeType": "ArrayTypeName", - "src": "21752:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G2Point[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6136, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21788:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "id": 6133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "21774:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_$", - "typeString": "function (uint256) pure returns (struct Pairing.G2Point memory[] memory)" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6131, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "21778:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "id": 6132, - "length": null, - "nodeType": "ArrayTypeName", - "src": "21778:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G2Point[]" - } - } - }, - "id": 6135, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21774:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21752:38:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6137, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6120, - "src": "21801:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6139, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6138, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21804:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21801:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6140, - "name": "a1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6102, - "src": "21809:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "21801:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6142, - "nodeType": "ExpressionStatement", - "src": "21801:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6143, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6120, - "src": "21822:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6145, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21825:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21822:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6146, - "name": "b1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6106, - "src": "21830:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "21822:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6148, - "nodeType": "ExpressionStatement", - "src": "21822:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6149, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6120, - "src": "21843:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6151, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21846:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21843:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6152, - "name": "c1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6110, - "src": "21851:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "21843:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6154, - "nodeType": "ExpressionStatement", - "src": "21843:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6155, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6130, - "src": "21864:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 6157, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21867:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21864:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6158, - "name": "a2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "21872:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "21864:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6160, - "nodeType": "ExpressionStatement", - "src": "21864:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6161, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6130, - "src": "21885:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 6163, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6162, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21888:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21885:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6164, - "name": "b2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6108, - "src": "21893:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "21885:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6166, - "nodeType": "ExpressionStatement", - "src": "21885:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6167, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6130, - "src": "21906:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 6169, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6168, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21909:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21906:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6170, - "name": "c2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6112, - "src": "21914:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "21906:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6172, - "nodeType": "ExpressionStatement", - "src": "21906:10:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6174, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6120, - "src": "21942:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - { - "argumentTypes": null, - "id": 6175, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6130, - "src": "21946:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - }, - { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - ], - "id": 6173, - "name": "pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6037, - "src": "21934:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr_$_t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (struct Pairing.G1Point memory[] memory,struct Pairing.G2Point memory[] memory) view returns (bool)" - } - }, - "id": 6176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21934:15:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6116, - "id": 6177, - "nodeType": "Return", - "src": "21927:22:10" - } - ] - }, - "documentation": "Convenience method for a pairing check for three pairs.", - "id": 6179, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "pairingProd3", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6113, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6102, - "name": "a1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6179, - "src": "21498:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6101, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "21498:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6104, - "name": "a2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6179, - "src": "21526:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6103, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "21526:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6106, - "name": "b1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6179, - "src": "21554:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6105, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "21554:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6108, - "name": "b2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6179, - "src": "21582:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6107, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "21582:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6110, - "name": "c1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6179, - "src": "21610:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6109, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "21610:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6112, - "name": "c2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6179, - "src": "21638:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6111, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "21638:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21487:175:10" - }, - "returnParameters": { - "id": 6116, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6115, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6179, - "src": "21686:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6114, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "21686:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21685:6:10" - }, - "scope": 6275, - "src": "21466:491:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6273, - "nodeType": "Block", - "src": "22311:307:10", - "statements": [ - { - "assignments": [ - 6203 - ], - "declarations": [ - { - "constant": false, - "id": 6203, - "name": "p1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6273, - "src": "22322:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6201, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "22322:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "id": 6202, - "length": null, - "nodeType": "ArrayTypeName", - "src": "22322:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G1Point[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6209, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "34", - "id": 6207, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22358:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - ], - "id": 6206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "22344:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_$", - "typeString": "function (uint256) pure returns (struct Pairing.G1Point memory[] memory)" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6204, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "22348:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "id": 6205, - "length": null, - "nodeType": "ArrayTypeName", - "src": "22348:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G1Point[]" - } - } - }, - "id": 6208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22344:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22322:38:10" - }, - { - "assignments": [ - 6213 - ], - "declarations": [ - { - "constant": false, - "id": 6213, - "name": "p2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6273, - "src": "22371:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6211, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "22371:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "id": 6212, - "length": null, - "nodeType": "ArrayTypeName", - "src": "22371:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G2Point[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6219, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "34", - "id": 6217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22407:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - ], - "id": 6216, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "22393:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_$", - "typeString": "function (uint256) pure returns (struct Pairing.G2Point memory[] memory)" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6214, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "22397:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "id": 6215, - "length": null, - "nodeType": "ArrayTypeName", - "src": "22397:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G2Point[]" - } - } - }, - "id": 6218, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22393:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22371:38:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6220, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "22420:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6222, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22423:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22420:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6223, - "name": "a1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6181, - "src": "22428:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "22420:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6225, - "nodeType": "ExpressionStatement", - "src": "22420:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6226, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "22441:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6228, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22444:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22441:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6229, - "name": "b1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6185, - "src": "22449:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "22441:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6231, - "nodeType": "ExpressionStatement", - "src": "22441:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6232, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "22462:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6234, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22465:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22462:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6235, - "name": "c1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6189, - "src": "22470:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "22462:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6237, - "nodeType": "ExpressionStatement", - "src": "22462:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6238, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "22483:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6240, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 6239, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22486:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22483:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6241, - "name": "d1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "22491:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "22483:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6243, - "nodeType": "ExpressionStatement", - "src": "22483:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6244, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "22504:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 6246, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22507:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22504:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6247, - "name": "a2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6183, - "src": "22512:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "22504:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6249, - "nodeType": "ExpressionStatement", - "src": "22504:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6250, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "22525:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 6252, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6251, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22528:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22525:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6253, - "name": "b2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "src": "22533:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "22525:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6255, - "nodeType": "ExpressionStatement", - "src": "22525:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6256, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "22546:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 6258, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22549:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22546:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6259, - "name": "c2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6191, - "src": "22554:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "22546:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6261, - "nodeType": "ExpressionStatement", - "src": "22546:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6262, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "22567:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 6264, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22570:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22567:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6265, - "name": "d2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6195, - "src": "22575:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "22567:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6267, - "nodeType": "ExpressionStatement", - "src": "22567:10:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6269, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "22603:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - { - "argumentTypes": null, - "id": 6270, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "22607:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - }, - { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - ], - "id": 6268, - "name": "pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6037, - "src": "22595:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr_$_t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (struct Pairing.G1Point memory[] memory,struct Pairing.G2Point memory[] memory) view returns (bool)" - } - }, - "id": 6271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22595:15:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6199, - "id": 6272, - "nodeType": "Return", - "src": "22588:22:10" - } - ] - }, - "documentation": "Convenience method for a pairing check for four pairs.", - "id": 6274, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "pairingProd4", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6196, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6181, - "name": "a1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6274, - "src": "22061:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6180, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "22061:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6183, - "name": "a2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6274, - "src": "22089:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6182, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "22089:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6185, - "name": "b1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6274, - "src": "22117:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6184, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "22117:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6187, - "name": "b2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6274, - "src": "22145:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6186, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "22145:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6189, - "name": "c1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6274, - "src": "22173:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6188, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "22173:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6191, - "name": "c2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6274, - "src": "22201:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6190, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "22201:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6193, - "name": "d1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6274, - "src": "22229:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6192, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "22229:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6195, - "name": "d2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6274, - "src": "22257:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6194, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "22257:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22050:231:10" - }, - "returnParameters": { - "id": 6199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6198, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6274, - "src": "22305:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6197, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "22305:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22304:6:10" - }, - "scope": 6275, - "src": "22029:589:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6717, - "src": "16314:6307:10" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6716, - "linearizedBaseContracts": [ - 6716 - ], - "name": "SquareVerifier", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 6277, - "libraryName": { - "contractScope": null, - "id": 6276, - "name": "Pairing", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6275, - "src": "22662:7:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pairing_$6275", - "typeString": "library Pairing" - } - }, - "nodeType": "UsingForDirective", - "src": "22656:20:10", - "typeName": null - }, - { - "canonicalName": "SquareVerifier.VerifyingKey", - "id": 6289, - "members": [ - { - "constant": false, - "id": 6279, - "name": "alpha", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6289, - "src": "22713:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6278, - "name": "Pairing.G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "22713:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6281, - "name": "beta", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6289, - "src": "22745:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6280, - "name": "Pairing.G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "22745:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6283, - "name": "gamma", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6289, - "src": "22776:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6282, - "name": "Pairing.G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "22776:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6285, - "name": "delta", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6289, - "src": "22808:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6284, - "name": "Pairing.G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "22808:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6288, - "name": "gamma_abc", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6289, - "src": "22840:27:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G1Point[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6286, - "name": "Pairing.G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "22840:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "id": 6287, - "length": null, - "nodeType": "ArrayTypeName", - "src": "22840:17:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G1Point[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "VerifyingKey", - "nodeType": "StructDefinition", - "scope": 6716, - "src": "22682:193:10", - "visibility": "public" - }, - { - "canonicalName": "SquareVerifier.Proof", - "id": 6296, - "members": [ - { - "constant": false, - "id": 6291, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6296, - "src": "22905:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6290, - "name": "Pairing.G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "22905:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6293, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6296, - "src": "22933:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6292, - "name": "Pairing.G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "22933:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6295, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6296, - "src": "22961:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6294, - "name": "Pairing.G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "22961:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Proof", - "nodeType": "StructDefinition", - "scope": 6716, - "src": "22881:105:10", - "visibility": "public" - }, - { - "body": { - "id": 6459, - "nodeType": "Block", - "src": "23065:3178:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6301, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6299, - "src": "23076:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6303, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "alpha", - "nodeType": "MemberAccess", - "referencedDeclaration": 6279, - "src": "23076:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307831393336633234303633363339306463383233653361373238653934623230386562353363363735366438316461353765633334323565303564343361633130", - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23143:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_11404571630774432426361478696451104326160645828985583931760367249611771063312_by_1", - "typeString": "int_const 1140...(69 digits omitted)...3312" - }, - "value": "0x1936c240636390dc823e3a728e94b208eb53c6756d81da57ec3425e05d43ac10" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_11404571630774432426361478696451104326160645828985583931760367249611771063312_by_1", - "typeString": "int_const 1140...(69 digits omitted)...3312" - } - ], - "id": 6307, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23117:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23117:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6309, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23117:107:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307832643730666637386538323136626632396435383932336136383664393733383237386238636532666438323265313937633835623039323836643135353636", - "id": 6312, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23265:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20553728262460398718546122925307654056916758466027663757540819413674249770342_by_1", - "typeString": "int_const 2055...(69 digits omitted)...0342" - }, - "value": "0x2d70ff78e8216bf29d58923a686d9738278b8ce2fd822e197c85b09286d15566" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_20553728262460398718546122925307654056916758466027663757540819413674249770342_by_1", - "typeString": "int_const 2055...(69 digits omitted)...0342" - } - ], - "id": 6311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23239:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6310, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23239:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23239:107:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6304, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "23087:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G1Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5639, - "src": "23087:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$5639_storage_ptr_$", - "typeString": "type(struct Pairing.G1Point storage pointer)" - } - }, - "id": 6314, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23087:270:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "23076:281:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6316, - "nodeType": "ExpressionStatement", - "src": "23076:281:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6317, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6299, - "src": "23368:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6319, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beta", - "nodeType": "MemberAccess", - "referencedDeclaration": 6281, - "src": "23368:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307832623464616630343761626532653766306233313131313863316239363362363336393564633064373639636561373838343936303434333464653035356266", - "id": 6324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23457:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_19586707639445201077349322307912135652943077186638600557800879154597443163583_by_1", - "typeString": "int_const 1958...(69 digits omitted)...3583" - }, - "value": "0x2b4daf047abe2e7f0b311118c1b963b63695dc0d769cea78849604434de055bf" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_19586707639445201077349322307912135652943077186638600557800879154597443163583_by_1", - "typeString": "int_const 1958...(69 digits omitted)...3583" - } - ], - "id": 6323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23427:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6322, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23427:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23427:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307832396331336563623666333364626334623362386130326532653235353531316365346332366138613266323939656663633934636166326465346663653030", - "id": 6328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23591:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18886261668269822257916643071234180104569081751552650893053204340855219932672_by_1", - "typeString": "int_const 1888...(69 digits omitted)...2672" - }, - "value": "0x29c13ecb6f33dbc4b3b8a02e2e255511ce4c26a8a2f299efcc94caf2de4fce00" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_18886261668269822257916643071234180104569081751552650893053204340855219932672_by_1", - "typeString": "int_const 1888...(69 digits omitted)...2672" - } - ], - "id": 6327, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23561:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6326, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23561:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6329, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23561:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6330, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23408:283:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307831646139303230303038646637663534393735316638613235316166336232646334613261643365303837306465353461636165646439666331623437653137", - "id": 6333, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23755:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_13415683567289405620191194697785539783673337670298646871108458308628028620311_by_1", - "typeString": "int_const 1341...(69 digits omitted)...0311" - }, - "value": "0x1da9020008df7f549751f8a251af3b2dc4a2ad3e0870de54acaedd9fc1b47e17" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_13415683567289405620191194697785539783673337670298646871108458308628028620311_by_1", - "typeString": "int_const 1341...(69 digits omitted)...0311" - } - ], - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23725:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6331, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23725:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6334, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23725:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307832356561306437653262323964653433316238366139343364623330646266346439386636386466396361386139363238643134643135393165383137643930", - "id": 6337, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23889:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_17149110734940438766192415532159844364369897737664281577035702099208977874320_by_1", - "typeString": "int_const 1714...(69 digits omitted)...4320" - }, - "value": "0x25ea0d7e2b29de431b86a943db30dbf4d98f68df9ca8a9628d14d1591e817d90" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_17149110734940438766192415532159844364369897737664281577035702099208977874320_by_1", - "typeString": "int_const 1714...(69 digits omitted)...4320" - } - ], - "id": 6336, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23859:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6335, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23859:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6338, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23859:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6339, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23706:283:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6320, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "23378:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G2Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5648, - "src": "23378:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G2Point_$5648_storage_ptr_$", - "typeString": "type(struct Pairing.G2Point storage pointer)" - } - }, - "id": 6340, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23378:622:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "23368:632:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6342, - "nodeType": "ExpressionStatement", - "src": "23368:632:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6343, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6299, - "src": "24011:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6345, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "gamma", - "nodeType": "MemberAccess", - "referencedDeclaration": 6283, - "src": "24011:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830313130313665323261653034353434346635306662383066323436656334383663376530326166303931333263643338633466636634383439383365346632", - "id": 6350, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24101:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_480740337502672518896766275936381646414499423445333888255393545520576455922_by_1", - "typeString": "int_const 4807...(67 digits omitted)...5922" - }, - "value": "0x011016e22ae045444f50fb80f246ec486c7e02af09132cd38c4fcf484983e4f2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_480740337502672518896766275936381646414499423445333888255393545520576455922_by_1", - "typeString": "int_const 4807...(67 digits omitted)...5922" - } - ], - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24071:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6348, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24071:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6351, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24071:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830306538336337383863323837386431643565626133656434396230643831653463303438376465646333653464316332626161623538333337383562363266", - "id": 6354, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24235:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_410325873763362685263453102209650051447014690236615374210506008103838135855_by_1", - "typeString": "int_const 4103...(67 digits omitted)...5855" - }, - "value": "0x00e83c788c2878d1d5eba3ed49b0d81e4c0487dedc3e4d1c2baab5833785b62f" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_410325873763362685263453102209650051447014690236615374210506008103838135855_by_1", - "typeString": "int_const 4103...(67 digits omitted)...5855" - } - ], - "id": 6353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24205:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6352, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24205:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24205:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6356, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "24052:283:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830356562383965373431656435623564363131636562663932643165643032636436663333313130383966306434303064663764396365643561343866643431", - "id": 6359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24399:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2677725077079384599346557630428253762129541660286518807422982489542949928257_by_1", - "typeString": "int_const 2677...(68 digits omitted)...8257" - }, - "value": "0x05eb89e741ed5b5d611cebf92d1ed02cd6f3311089f0d400df7d9ced5a48fd41" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2677725077079384599346557630428253762129541660286518807422982489542949928257_by_1", - "typeString": "int_const 2677...(68 digits omitted)...8257" - } - ], - "id": 6358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24369:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6357, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24369:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6360, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24369:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307831333261393061336230643336396363643636653261356261303461393335653434643861643564636139336137366262613539326135373831333061393131", - "id": 6363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24533:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8669149964369931821021310851377052171702351789084710110193162507589879114001_by_1", - "typeString": "int_const 8669...(68 digits omitted)...4001" - }, - "value": "0x132a90a3b0d369ccd66e2a5ba04a935e44d8ad5dca93a76bba592a578130a911" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_8669149964369931821021310851377052171702351789084710110193162507589879114001_by_1", - "typeString": "int_const 8669...(68 digits omitted)...4001" - } - ], - "id": 6362, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24503:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6361, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24503:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6364, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24503:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6365, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "24350:283:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6346, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "24022:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G2Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5648, - "src": "24022:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G2Point_$5648_storage_ptr_$", - "typeString": "type(struct Pairing.G2Point storage pointer)" - } - }, - "id": 6366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24022:622:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "24011:633:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6368, - "nodeType": "ExpressionStatement", - "src": "24011:633:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6369, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6299, - "src": "24655:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6371, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "delta", - "nodeType": "MemberAccess", - "referencedDeclaration": 6285, - "src": "24655:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830363566366133333233613261626666643632316663323633663334386562393134393034623638643538393737323961653334613662396433336630383532", - "id": 6376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24745:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2882460526476434201282496870195358123288995304693305152725586922527008950354_by_1", - "typeString": "int_const 2882...(68 digits omitted)...0354" - }, - "value": "0x065f6a3323a2abffd621fc263f348eb914904b68d5897729ae34a6b9d33f0852" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2882460526476434201282496870195358123288995304693305152725586922527008950354_by_1", - "typeString": "int_const 2882...(68 digits omitted)...0354" - } - ], - "id": 6375, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24715:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6374, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24715:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24715:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830633362363066353964336264353033323861303463306666366439373931393936383564303532366638396636616332396436313734636532343730376132", - "id": 6380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24879:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5532667349215989963770496936461671427088945655865436930388634752918468626338_by_1", - "typeString": "int_const 5532...(68 digits omitted)...6338" - }, - "value": "0x0c3b60f59d3bd50328a04c0ff6d979199685d0526f89f6ac29d6174ce24707a2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5532667349215989963770496936461671427088945655865436930388634752918468626338_by_1", - "typeString": "int_const 5532...(68 digits omitted)...6338" - } - ], - "id": 6379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24849:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6378, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24849:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24849:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6382, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "24696:283:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307832366537656263653262343465666566366236333135393338653333663061386563633832646261643633356339656661363831656438356262623539393832", - "id": 6385, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25043:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_17597657386825226434117339620558022661636510496585419233667372138731186526594_by_1", - "typeString": "int_const 1759...(69 digits omitted)...6594" - }, - "value": "0x26e7ebce2b44efef6b6315938e33f0a8ecc82dbad635c9efa681ed85bbb59982" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_17597657386825226434117339620558022661636510496585419233667372138731186526594_by_1", - "typeString": "int_const 1759...(69 digits omitted)...6594" - } - ], - "id": 6384, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "25013:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6383, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25013:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25013:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307831326530663337323132333061306633386636633939313330343864353233306664323631356566336666376636656534623230646665306264656131613836", - "id": 6389, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25177:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8539085216720969186381215146072580032273858133052949508714688213593304472198_by_1", - "typeString": "int_const 8539...(68 digits omitted)...2198" - }, - "value": "0x12e0f3721230a0f38f6c9913048d5230fd2615ef3ff7f6ee4b20dfe0bdea1a86" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_8539085216720969186381215146072580032273858133052949508714688213593304472198_by_1", - "typeString": "int_const 8539...(68 digits omitted)...2198" - } - ], - "id": 6388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "25147:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6387, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25147:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6390, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25147:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6391, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "24994:283:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6372, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "24666:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G2Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5648, - "src": "24666:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G2Point_$5648_storage_ptr_$", - "typeString": "type(struct Pairing.G2Point storage pointer)" - } - }, - "id": 6392, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24666:622:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "24655:633:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6394, - "nodeType": "ExpressionStatement", - "src": "24655:633:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6395, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6299, - "src": "25299:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6397, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "gamma_abc", - "nodeType": "MemberAccess", - "referencedDeclaration": 6288, - "src": "25299:12:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25336:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "id": 6400, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "25314:21:10", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_$", - "typeString": "function (uint256) pure returns (struct Pairing.G1Point memory[] memory)" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6398, - "name": "Pairing.G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "25318:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "id": 6399, - "length": null, - "nodeType": "ArrayTypeName", - "src": "25318:17:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G1Point[]" - } - } - }, - "id": 6402, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25314:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "src": "25299:39:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6404, - "nodeType": "ExpressionStatement", - "src": "25299:39:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6405, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6299, - "src": "25349:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6408, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "gamma_abc", - "nodeType": "MemberAccess", - "referencedDeclaration": 6288, - "src": "25349:12:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6409, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25362:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "25349:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307831656638643564373032333461613365336438666334653366316361303163373033313832353830623538313130363739386630356233356664353038326330", - "id": 6414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25423:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_14009039398155720505150269708790661333297837075728094920382828224942856766144_by_1", - "typeString": "int_const 1400...(69 digits omitted)...6144" - }, - "value": "0x1ef8d5d70234aa3e3d8fc4e3f1ca01c703182580b581106798f05b35fd5082c0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_14009039398155720505150269708790661333297837075728094920382828224942856766144_by_1", - "typeString": "int_const 1400...(69 digits omitted)...6144" - } - ], - "id": 6413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "25397:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6412, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25397:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6415, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25397:107:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307832653436383034366434616533353133386532303332323234393235643533383937313265356361356536386634643963316531383538653764363536303264", - "id": 6418, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25545:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20930955662491267233397107828124586351105651506146609020125271365893061173293_by_1", - "typeString": "int_const 2093...(69 digits omitted)...3293" - }, - "value": "0x2e468046d4ae35138e2032224925d5389712e5ca5e68f4d9c1e1858e7d65602d" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_20930955662491267233397107828124586351105651506146609020125271365893061173293_by_1", - "typeString": "int_const 2093...(69 digits omitted)...3293" - } - ], - "id": 6417, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "25519:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25519:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6419, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25519:107:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6410, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "25367:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G1Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5639, - "src": "25367:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$5639_storage_ptr_$", - "typeString": "type(struct Pairing.G1Point storage pointer)" - } - }, - "id": 6420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25367:270:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "25349:288:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6422, - "nodeType": "ExpressionStatement", - "src": "25349:288:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6423, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6299, - "src": "25648:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6426, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "gamma_abc", - "nodeType": "MemberAccess", - "referencedDeclaration": 6288, - "src": "25648:12:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6427, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6425, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25661:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "25648:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830636566616530653366613661613235613434383561623762323164333237393464333433316134653461356361383265613432376238333135333463326339", - "id": 6432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25722:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5851231919488061643454688318825712062697499020691897643701372875390621893321_by_1", - "typeString": "int_const 5851...(68 digits omitted)...3321" - }, - "value": "0x0cefae0e3fa6aa25a4485ab7b21d32794d3431a4e4a5ca82ea427b831534c2c9" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5851231919488061643454688318825712062697499020691897643701372875390621893321_by_1", - "typeString": "int_const 5851...(68 digits omitted)...3321" - } - ], - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "25696:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6430, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25696:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25696:107:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307832336533643230333562373038383465353437363338623131313837306635393537663538616438303638663761323134373031363461643336316531653838", - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25844:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_16233473441361394560431684535997736703822957284610781662173469397325430267528_by_1", - "typeString": "int_const 1623...(69 digits omitted)...7528" - }, - "value": "0x23e3d2035b70884e547638b111870f5957f58ad8068f7a21470164ad361e1e88" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_16233473441361394560431684535997736703822957284610781662173469397325430267528_by_1", - "typeString": "int_const 1623...(69 digits omitted)...7528" - } - ], - "id": 6435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "25818:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6434, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25818:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6437, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25818:107:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6428, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "25666:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G1Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5639, - "src": "25666:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$5639_storage_ptr_$", - "typeString": "type(struct Pairing.G1Point storage pointer)" - } - }, - "id": 6438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25666:270:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "25648:288:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6440, - "nodeType": "ExpressionStatement", - "src": "25648:288:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6441, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6299, - "src": "25947:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6444, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "gamma_abc", - "nodeType": "MemberAccess", - "referencedDeclaration": 6288, - "src": "25947:12:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6445, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6443, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25960:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "25947:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830333066666537386563336465313530653836383864623631396264653738653231653839343735346536626535656438333734323637373632386232346263", - "id": 6450, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26021:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1385197555366316638547884976923676458145592326878252587889427394007889814716_by_1", - "typeString": "int_const 1385...(68 digits omitted)...4716" - }, - "value": "0x030ffe78ec3de150e8688db619bde78e21e894754e6be5ed83742677628b24bc" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1385197555366316638547884976923676458145592326878252587889427394007889814716_by_1", - "typeString": "int_const 1385...(68 digits omitted)...4716" - } - ], - "id": 6449, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "25995:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6448, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25995:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25995:107:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830353333393266383863666139303932646662633062643139396438313539653536323037373739343733633234666336303165666639316263643334356361", - "id": 6454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26143:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2352687799100231607798767035998150582166744960824007121429034459320835851722_by_1", - "typeString": "int_const 2352...(68 digits omitted)...1722" - }, - "value": "0x053392f88cfa9092dfbc0bd199d8159e56207779473c24fc601eff91bcd345ca" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2352687799100231607798767035998150582166744960824007121429034459320835851722_by_1", - "typeString": "int_const 2352...(68 digits omitted)...1722" - } - ], - "id": 6453, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "26117:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6452, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26117:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26117:107:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6446, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "25965:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G1Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5639, - "src": "25965:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$5639_storage_ptr_$", - "typeString": "type(struct Pairing.G1Point storage pointer)" - } - }, - "id": 6456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25965:270:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "25947:288:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6458, - "nodeType": "ExpressionStatement", - "src": "25947:288:10" - } - ] - }, - "documentation": null, - "id": 6460, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "verifyingKey", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6297, - "nodeType": "ParameterList", - "parameters": [], - "src": "23015:2:10" - }, - "returnParameters": { - "id": 6300, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6299, - "name": "vk", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6460, - "src": "23041:22:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey" - }, - "typeName": { - "contractScope": null, - "id": 6298, - "name": "VerifyingKey", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6289, - "src": "23041:12:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_storage_ptr", - "typeString": "struct SquareVerifier.VerifyingKey" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23040:24:10" - }, - "scope": 6716, - "src": "22994:3249:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6584, - "nodeType": "Block", - "src": "26375:1039:10", - "statements": [ - { - "assignments": [ - 6471 - ], - "declarations": [ - { - "constant": false, - "id": 6471, - "name": "snark_scalar_field", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6584, - "src": "26392:26:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6470, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26392:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6473, - "initialValue": { - "argumentTypes": null, - "hexValue": "3231383838323432383731383339323735323232323436343035373435323537323735303838353438333634343030343136303334333433363938323034313836353735383038343935363137", - "id": 6472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26431:77:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21888242871839275222246405745257275088548364400416034343698204186575808495617_by_1", - "typeString": "int_const 2188...(69 digits omitted)...5617" - }, - "value": "21888242871839275222246405745257275088548364400416034343698204186575808495617" - }, - "nodeType": "VariableDeclarationStatement", - "src": "26392:116:10" - }, - { - "assignments": [ - 6475 - ], - "declarations": [ - { - "constant": false, - "id": 6475, - "name": "vk", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6584, - "src": "26519:22:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey" - }, - "typeName": { - "contractScope": null, - "id": 6474, - "name": "VerifyingKey", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6289, - "src": "26519:12:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_storage_ptr", - "typeString": "struct SquareVerifier.VerifyingKey" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6478, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6476, - "name": "verifyingKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6460, - "src": "26544:12:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_VerifyingKey_$6289_memory_ptr_$", - "typeString": "function () pure returns (struct SquareVerifier.VerifyingKey memory)" - } - }, - "id": 6477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26544:14:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "26519:39:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6480, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6463, - "src": "26577:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "26577:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6482, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26592:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "26577:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6484, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6475, - "src": "26597:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6485, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "gamma_abc", - "nodeType": "MemberAccess", - "referencedDeclaration": 6288, - "src": "26597:12:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "26597:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26577:39:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6479, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "26569:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 6488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26569:48:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6489, - "nodeType": "ExpressionStatement", - "src": "26569:48:10" - }, - { - "assignments": [ - 6493 - ], - "declarations": [ - { - "constant": false, - "id": 6493, - "name": "vk_x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6584, - "src": "26676:27:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6492, - "name": "Pairing.G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "26676:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6499, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26722:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 6497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26725:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "argumentTypes": null, - "id": 6494, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "26706:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G1Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5639, - "src": "26706:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$5639_storage_ptr_$", - "typeString": "type(struct Pairing.G1Point storage pointer)" - } - }, - "id": 6498, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26706:21:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "26676:51:10" - }, - { - "body": { - "id": 6538, - "nodeType": "Block", - "src": "26781:209:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6512, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6463, - "src": "26804:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6514, - "indexExpression": { - "argumentTypes": null, - "id": 6513, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6501, - "src": "26810:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26804:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6515, - "name": "snark_scalar_field", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6471, - "src": "26815:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26804:29:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6511, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "26796:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 6517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26796:38:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6518, - "nodeType": "ExpressionStatement", - "src": "26796:38:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6519, - "name": "vk_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6493, - "src": "26849:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6522, - "name": "vk_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6493, - "src": "26891:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6525, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6475, - "src": "26933:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6526, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "gamma_abc", - "nodeType": "MemberAccess", - "referencedDeclaration": 6288, - "src": "26933:12:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6530, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6527, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6501, - "src": "26946:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26950:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "26946:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26933:19:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6531, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6463, - "src": "26954:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6533, - "indexExpression": { - "argumentTypes": null, - "id": 6532, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6501, - "src": "26960:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26954:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6523, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "26914:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "scalar_mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 5876, - "src": "26914:18:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$5639_memory_ptr_$_t_uint256_$returns$_t_struct$_G1Point_$5639_memory_ptr_$", - "typeString": "function (struct Pairing.G1Point memory,uint256) view returns (struct Pairing.G1Point memory)" - } - }, - "id": 6534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26914:49:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - }, - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6520, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "26856:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addition", - "nodeType": "MemberAccess", - "referencedDeclaration": 5766, - "src": "26856:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$5639_memory_ptr_$_t_struct$_G1Point_$5639_memory_ptr_$returns$_t_struct$_G1Point_$5639_memory_ptr_$", - "typeString": "function (struct Pairing.G1Point memory,struct Pairing.G1Point memory) view returns (struct Pairing.G1Point memory)" - } - }, - "id": 6535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26856:122:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "26849:129:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6537, - "nodeType": "ExpressionStatement", - "src": "26849:129:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6504, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6501, - "src": "26758:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6505, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6463, - "src": "26762:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "26762:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26758:16:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6539, - "initializationExpression": { - "assignments": [ - 6501 - ], - "declarations": [ - { - "constant": false, - "id": 6501, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6539, - "src": "26743:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6500, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26743:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6503, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6502, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26755:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "26743:13:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "26776:3:10", - "subExpression": { - "argumentTypes": null, - "id": 6508, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6501, - "src": "26776:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6510, - "nodeType": "ExpressionStatement", - "src": "26776:3:10" - }, - "nodeType": "ForStatement", - "src": "26738:252:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6540, - "name": "vk_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6493, - "src": "27000:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6543, - "name": "vk_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6493, - "src": "27024:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6544, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6475, - "src": "27030:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6545, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "gamma_abc", - "nodeType": "MemberAccess", - "referencedDeclaration": 6288, - "src": "27030:12:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6547, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6546, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27043:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27030:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - }, - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6541, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "27007:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addition", - "nodeType": "MemberAccess", - "referencedDeclaration": 5766, - "src": "27007:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$5639_memory_ptr_$_t_struct$_G1Point_$5639_memory_ptr_$returns$_t_struct$_G1Point_$5639_memory_ptr_$", - "typeString": "function (struct Pairing.G1Point memory,struct Pairing.G1Point memory) view returns (struct Pairing.G1Point memory)" - } - }, - "id": 6548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27007:39:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "27000:46:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6550, - "nodeType": "ExpressionStatement", - "src": "27000:46:10" - }, - { - "condition": { - "argumentTypes": null, - "id": 6578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "27075:292:10", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6553, - "name": "proof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6465, - "src": "27115:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_memory_ptr", - "typeString": "struct SquareVerifier.Proof memory" - } - }, - "id": 6554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "a", - "nodeType": "MemberAccess", - "referencedDeclaration": 6291, - "src": "27115:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6555, - "name": "proof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6465, - "src": "27141:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_memory_ptr", - "typeString": "struct SquareVerifier.Proof memory" - } - }, - "id": 6556, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "b", - "nodeType": "MemberAccess", - "referencedDeclaration": 6293, - "src": "27141:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6559, - "name": "vk_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6493, - "src": "27182:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6557, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "27167:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "negate", - "nodeType": "MemberAccess", - "referencedDeclaration": 5713, - "src": "27167:14:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_G1Point_$5639_memory_ptr_$returns$_t_struct$_G1Point_$5639_memory_ptr_$", - "typeString": "function (struct Pairing.G1Point memory) pure returns (struct Pairing.G1Point memory)" - } - }, - "id": 6560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27167:20:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6561, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6475, - "src": "27206:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6562, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "gamma", - "nodeType": "MemberAccess", - "referencedDeclaration": 6283, - "src": "27206:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6565, - "name": "proof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6465, - "src": "27248:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_memory_ptr", - "typeString": "struct SquareVerifier.Proof memory" - } - }, - "id": 6566, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "c", - "nodeType": "MemberAccess", - "referencedDeclaration": 6295, - "src": "27248:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6563, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "27233:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "negate", - "nodeType": "MemberAccess", - "referencedDeclaration": 5713, - "src": "27233:14:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_G1Point_$5639_memory_ptr_$returns$_t_struct$_G1Point_$5639_memory_ptr_$", - "typeString": "function (struct Pairing.G1Point memory) pure returns (struct Pairing.G1Point memory)" - } - }, - "id": 6567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27233:23:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6568, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6475, - "src": "27275:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6569, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "delta", - "nodeType": "MemberAccess", - "referencedDeclaration": 6285, - "src": "27275:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6572, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6475, - "src": "27317:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6573, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "alpha", - "nodeType": "MemberAccess", - "referencedDeclaration": 6279, - "src": "27317:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6570, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "27302:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "negate", - "nodeType": "MemberAccess", - "referencedDeclaration": 5713, - "src": "27302:14:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_G1Point_$5639_memory_ptr_$returns$_t_struct$_G1Point_$5639_memory_ptr_$", - "typeString": "function (struct Pairing.G1Point memory) pure returns (struct Pairing.G1Point memory)" - } - }, - "id": 6574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27302:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6575, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6475, - "src": "27345:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6576, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beta", - "nodeType": "MemberAccess", - "referencedDeclaration": 6281, - "src": "27345:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - }, - { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - }, - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - }, - { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - }, - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - }, - { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - }, - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - }, - { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6551, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "27076:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pairingProd4", - "nodeType": "MemberAccess", - "referencedDeclaration": 6274, - "src": "27076:20:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$5639_memory_ptr_$_t_struct$_G2Point_$5648_memory_ptr_$_t_struct$_G1Point_$5639_memory_ptr_$_t_struct$_G2Point_$5648_memory_ptr_$_t_struct$_G1Point_$5639_memory_ptr_$_t_struct$_G2Point_$5648_memory_ptr_$_t_struct$_G1Point_$5639_memory_ptr_$_t_struct$_G2Point_$5648_memory_ptr_$returns$_t_bool_$", - "typeString": "function (struct Pairing.G1Point memory,struct Pairing.G2Point memory,struct Pairing.G1Point memory,struct Pairing.G2Point memory,struct Pairing.G1Point memory,struct Pairing.G2Point memory,struct Pairing.G1Point memory,struct Pairing.G2Point memory) view returns (bool)" - } - }, - "id": 6577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27076:291:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6581, - "nodeType": "IfStatement", - "src": "27057:330:10", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27386:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "functionReturnParameters": 6469, - "id": 6580, - "nodeType": "Return", - "src": "27379:8:10" - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6582, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27405:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 6469, - "id": 6583, - "nodeType": "Return", - "src": "27398:8:10" - } - ] - }, - "documentation": null, - "id": 6585, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "verify", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6466, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6463, - "name": "input", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6585, - "src": "26267:22:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6461, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26267:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6462, - "length": null, - "nodeType": "ArrayTypeName", - "src": "26267:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6465, - "name": "proof", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6585, - "src": "26291:18:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_memory_ptr", - "typeString": "struct SquareVerifier.Proof" - }, - "typeName": { - "contractScope": null, - "id": 6464, - "name": "Proof", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6296, - "src": "26291:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_storage_ptr", - "typeString": "struct SquareVerifier.Proof" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "26266:44:10" - }, - "returnParameters": { - "id": 6469, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6468, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6585, - "src": "26361:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6467, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26361:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "26360:9:10" - }, - "scope": 6716, - "src": "26251:1163:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6714, - "nodeType": "Block", - "src": "27603:504:10", - "statements": [ - { - "assignments": [ - 6609 - ], - "declarations": [ - { - "constant": false, - "id": 6609, - "name": "proof", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6714, - "src": "27614:18:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_memory_ptr", - "typeString": "struct SquareVerifier.Proof" - }, - "typeName": { - "contractScope": null, - "id": 6608, - "name": "Proof", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6296, - "src": "27614:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_storage_ptr", - "typeString": "struct SquareVerifier.Proof" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6610, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "27614:18:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6611, - "name": "proof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6609, - "src": "27643:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_memory_ptr", - "typeString": "struct SquareVerifier.Proof memory" - } - }, - "id": 6613, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "a", - "nodeType": "MemberAccess", - "referencedDeclaration": 6291, - "src": "27643:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6616, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "27669:1:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 6618, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27671:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27669:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6619, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "27675:1:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 6621, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27677:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27675:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6614, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "27653:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G1Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5639, - "src": "27653:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$5639_storage_ptr_$", - "typeString": "type(struct Pairing.G1Point storage pointer)" - } - }, - "id": 6622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27653:27:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "27643:37:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6624, - "nodeType": "ExpressionStatement", - "src": "27643:37:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6625, - "name": "proof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6609, - "src": "27691:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_memory_ptr", - "typeString": "struct SquareVerifier.Proof memory" - } - }, - "id": 6627, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "b", - "nodeType": "MemberAccess", - "referencedDeclaration": 6293, - "src": "27691:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6630, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6595, - "src": "27718:1:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", - "typeString": "uint256[2] memory[2] memory" - } - }, - "id": 6632, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27720:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27718:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 6634, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27723:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27718:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6635, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6595, - "src": "27727:1:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", - "typeString": "uint256[2] memory[2] memory" - } - }, - "id": 6637, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27729:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27727:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 6639, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27732:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27727:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6640, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "27717:18:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6641, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6595, - "src": "27738:1:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", - "typeString": "uint256[2] memory[2] memory" - } - }, - "id": 6643, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27740:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27738:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 6645, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6644, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27743:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27738:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6646, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6595, - "src": "27747:1:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", - "typeString": "uint256[2] memory[2] memory" - } - }, - "id": 6648, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6647, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27749:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27747:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 6650, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6649, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27752:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27747:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6651, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "27737:18:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6628, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "27701:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G2Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5648, - "src": "27701:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G2Point_$5648_storage_ptr_$", - "typeString": "type(struct Pairing.G2Point storage pointer)" - } - }, - "id": 6652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27701:55:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "27691:65:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6654, - "nodeType": "ExpressionStatement", - "src": "27691:65:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6655, - "name": "proof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6609, - "src": "27767:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_memory_ptr", - "typeString": "struct SquareVerifier.Proof memory" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "c", - "nodeType": "MemberAccess", - "referencedDeclaration": 6295, - "src": "27767:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6660, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6599, - "src": "27793:1:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 6662, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6661, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27795:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27793:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6663, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6599, - "src": "27799:1:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 6665, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6664, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27801:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27799:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6658, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "27777:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G1Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5639, - "src": "27777:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$5639_storage_ptr_$", - "typeString": "type(struct Pairing.G1Point storage pointer)" - } - }, - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27777:27:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "27767:37:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6668, - "nodeType": "ExpressionStatement", - "src": "27767:37:10" - }, - { - "assignments": [ - 6673 - ], - "declarations": [ - { - "constant": false, - "id": 6673, - "name": "inputValues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6714, - "src": "27815:28:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6671, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27815:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6672, - "length": null, - "nodeType": "ArrayTypeName", - "src": "27815:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6679, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "32", - "id": 6677, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27860:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 6676, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "27846:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 6674, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27850:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6675, - "length": null, - "nodeType": "ArrayTypeName", - "src": "27850:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 6678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27846:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "27815:47:10" - }, - { - "body": { - "id": 6699, - "nodeType": "Block", - "src": "27918:52:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6691, - "name": "inputValues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6673, - "src": "27933:11:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6693, - "indexExpression": { - "argumentTypes": null, - "id": 6692, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6681, - "src": "27945:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "27933:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6694, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6603, - "src": "27950:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 6696, - "indexExpression": { - "argumentTypes": null, - "id": 6695, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6681, - "src": "27956:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27950:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27933:25:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6698, - "nodeType": "ExpressionStatement", - "src": "27933:25:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6684, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6681, - "src": "27895:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6685, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6603, - "src": "27899:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 6686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "27899:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27895:16:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6700, - "initializationExpression": { - "assignments": [ - 6681 - ], - "declarations": [ - { - "constant": false, - "id": 6681, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6700, - "src": "27880:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27880:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6683, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6682, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27892:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "27880:13:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "27913:3:10", - "subExpression": { - "argumentTypes": null, - "id": 6688, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6681, - "src": "27913:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6690, - "nodeType": "ExpressionStatement", - "src": "27913:3:10" - }, - "nodeType": "ForStatement", - "src": "27875:95:10" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6702, - "name": "inputValues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6673, - "src": "27991:11:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 6703, - "name": "proof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6609, - "src": "28004:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_memory_ptr", - "typeString": "struct SquareVerifier.Proof memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_struct$_Proof_$6296_memory_ptr", - "typeString": "struct SquareVerifier.Proof memory" - } - ], - "id": 6701, - "name": "verify", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6585, - "src": "27984:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_uint256_$dyn_memory_ptr_$_t_struct$_Proof_$6296_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256[] memory,struct SquareVerifier.Proof memory) view returns (uint256)" - } - }, - "id": 6704, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27984:26:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28014:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "27984:31:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6712, - "nodeType": "Block", - "src": "28061:39:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28083:5:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 6607, - "id": 6711, - "nodeType": "Return", - "src": "28076:12:10" - } - ] - }, - "id": 6713, - "nodeType": "IfStatement", - "src": "27980:120:10", - "trueBody": { - "id": 6709, - "nodeType": "Block", - "src": "28017:38:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6707, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28039:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 6607, - "id": 6708, - "nodeType": "Return", - "src": "28032:11:10" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "621e9ec0", - "id": 6715, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "verifyTx", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6604, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6589, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6715, - "src": "27450:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 6586, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27450:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6588, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 6587, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27458:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "27450:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6595, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6715, - "src": "27480:22:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", - "typeString": "uint256[2][2]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 6590, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27480:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6592, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 6591, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27488:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "27480:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "id": 6594, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 6593, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27491:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "27480:13:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_storage_$2_storage_ptr", - "typeString": "uint256[2][2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6599, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6715, - "src": "27513:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 6596, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27513:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6598, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 6597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27521:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "27513:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6603, - "name": "input", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6715, - "src": "27543:23:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 6600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27543:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6602, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 6601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27551:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "27543:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27439:134:10" - }, - "returnParameters": { - "id": 6607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6606, - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6715, - "src": "27595:6:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6605, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "27595:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27594:8:10" - }, - "scope": 6716, - "src": "27422:685:10", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 6717, - "src": "22625:5485:10" - } - ], - "src": "32:28080:10" - }, - "legacyAST": { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/zokrates/code/square/verifier.sol", - "exportedSymbols": { - "BN256G2": [ - 5633 - ], - "Pairing": [ - 6275 - ], - "SquareVerifier": [ - 6716 - ] - }, - "id": 6717, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4141, - "literals": [ - "solidity", - "^", - "0.6", - ".1" - ], - "nodeType": "PragmaDirective", - "src": "32:23:10" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@title Elliptic curve operations on twist points for alt_bn128\n@author Mustafa Al-Bassam (mus@musalbas.com)\n@dev Homepage: https://github.com/musalbas/solidity-BN256G2", - "fullyImplemented": true, - "id": 5633, - "linearizedBaseContracts": [ - 5633 - ], - "name": "BN256G2", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 4144, - "name": "FIELD_MODULUS", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5633, - "src": "274:117:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "274:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307833303634346537326531333161303239623835303435623638313831353835643937383136613931363837316361386433633230386331366438376366643437", - "id": 4143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "325:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21888242871839275222246405745257275088696311157297823662689037894645226208583_by_1", - "typeString": "int_const 2188...(69 digits omitted)...8583" - }, - "value": "0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 4147, - "name": "TWISTBX", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5633, - "src": "398:111:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4145, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "398:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307832623134396434306365623861616165383162653138393931626530366163336235623463356535353964626566613333323637653664633234613133386535", - "id": 4146, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "443:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_19485874751759354771024239261021720505790618469301721065564631296452457478373_by_1", - "typeString": "int_const 1948...(69 digits omitted)...8373" - }, - "value": "0x2b149d40ceb8aaae81be18991be06ac3b5b4c5e559dbefa33267e6dc24a138e5" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 4150, - "name": "TWISTBY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5633, - "src": "516:109:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4148, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "516:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783937313362303361663066656434636432636166616465656438666466346137346661303834653532643138353265346132626430363835633331356432", - "id": 4149, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "561:64:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_266929791119991161246907387137283842545076965332900288569378510910307636690_by_1", - "typeString": "int_const 2669...(67 digits omitted)...6690" - }, - "value": "0x9713b03af0fed4cd2cafadeed8fdf4a74fa084e52d1852e4a2bd0685c315d2" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 4153, - "name": "PTXX", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5633, - "src": "632:34:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4151, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 4152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "665:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 4156, - "name": "PTXY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5633, - "src": "673:34:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4154, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "673:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 4155, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "706:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 4159, - "name": "PTYX", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5633, - "src": "714:34:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4157, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "714:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "32", - "id": 4158, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "747:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 4162, - "name": "PTYY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5633, - "src": "755:34:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4160, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "755:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 4161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "788:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 4165, - "name": "PTZX", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5633, - "src": "796:34:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4163, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "796:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "34", - "id": 4164, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "829:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 4168, - "name": "PTZY", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5633, - "src": "837:34:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4166, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "837:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "35", - "id": 4167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "870:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - }, - "visibility": "internal" - }, - { - "body": { - "id": 4338, - "nodeType": "Block", - "src": "1759:1117:10", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4195, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4170, - "src": "1774:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4196, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1783:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1774:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4198, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4172, - "src": "1788:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1797:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1788:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1774:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4202, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4174, - "src": "1802:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4203, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1811:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1802:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1774:38:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4206, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4176, - "src": "1816:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4207, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1825:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1816:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1774:52:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4245, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4178, - "src": "2056:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2065:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2056:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4248, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4180, - "src": "2070:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2079:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2070:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2056:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4252, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4182, - "src": "2084:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2093:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2084:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2056:38:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4256, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4184, - "src": "2098:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2107:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2098:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2056:52:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4276, - "nodeType": "IfStatement", - "src": "2052:181:10", - "trueBody": { - "id": 4275, - "nodeType": "Block", - "src": "2110:123:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4262, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4170, - "src": "2143:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4263, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4172, - "src": "2150:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4264, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4174, - "src": "2157:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4265, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4176, - "src": "2164:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4261, - "name": "_isOnCurve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4761, - "src": "2132:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (bool)" - } - }, - "id": 4266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2132:38:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4260, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -3, - "src": "2125:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2125:46:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4268, - "nodeType": "ExpressionStatement", - "src": "2125:46:10" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4269, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4170, - "src": "2194:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4270, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4172, - "src": "2201:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4271, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4174, - "src": "2208:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4272, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4176, - "src": "2215:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4273, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2193:28:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256)" - } - }, - "functionReturnParameters": 4194, - "id": 4274, - "nodeType": "Return", - "src": "2186:35:10" - } - ] - } - }, - "id": 4277, - "nodeType": "IfStatement", - "src": "1770:463:10", - "trueBody": { - "id": 4244, - "nodeType": "Block", - "src": "1828:218:10", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 4226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1847:55:10", - "subExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4210, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4178, - "src": "1849:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1858:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1849:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4213, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4180, - "src": "1863:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4214, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1872:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1863:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1849:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4217, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4182, - "src": "1877:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4218, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1886:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1877:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1849:38:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4221, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4184, - "src": "1891:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4222, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1900:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1891:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1849:52:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 4225, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1848:54:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4237, - "nodeType": "IfStatement", - "src": "1843:142:10", - "trueBody": { - "id": 4236, - "nodeType": "Block", - "src": "1904:81:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4229, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4178, - "src": "1941:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4230, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4180, - "src": "1948:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4231, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4182, - "src": "1955:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4232, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4184, - "src": "1962:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4228, - "name": "_isOnCurve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4761, - "src": "1930:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (bool)" - } - }, - "id": 4233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1930:38:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4227, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -3, - "src": "1923:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1923:46:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4235, - "nodeType": "ExpressionStatement", - "src": "1923:46:10" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4238, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4178, - "src": "2007:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4239, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4180, - "src": "2014:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4240, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4182, - "src": "2021:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4241, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4184, - "src": "2028:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4242, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2006:28:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256)" - } - }, - "functionReturnParameters": 4194, - "id": 4243, - "nodeType": "Return", - "src": "1999:35:10" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4280, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4170, - "src": "2263:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4281, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4172, - "src": "2270:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4282, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4174, - "src": "2277:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4283, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4176, - "src": "2284:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4279, - "name": "_isOnCurve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4761, - "src": "2252:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (bool)" - } - }, - "id": 4284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2252:38:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4278, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -3, - "src": "2245:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2245:46:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4286, - "nodeType": "ExpressionStatement", - "src": "2245:46:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4289, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4178, - "src": "2320:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4290, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4180, - "src": "2327:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4291, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4182, - "src": "2334:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4292, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4184, - "src": "2341:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4288, - "name": "_isOnCurve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4761, - "src": "2309:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (bool)" - } - }, - "id": 4293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2309:38:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4287, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -3, - "src": "2302:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2302:46:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4295, - "nodeType": "ExpressionStatement", - "src": "2302:46:10" - }, - { - "assignments": [ - 4301 - ], - "declarations": [ - { - "constant": false, - "id": 4301, - "name": "pt3", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4338, - "src": "2361:21:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6]" - }, - "typeName": { - "baseType": { - "id": 4299, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2361:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4300, - "length": { - "argumentTypes": null, - "hexValue": "36", - "id": 4298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2369:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "nodeType": "ArrayTypeName", - "src": "2361:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", - "typeString": "uint256[6]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4316, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4303, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4170, - "src": "2419:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4304, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4172, - "src": "2439:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4305, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4174, - "src": "2459:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4306, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4176, - "src": "2479:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "31", - "id": 4307, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2499:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 4308, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2515:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 4309, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4178, - "src": "2531:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4310, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4180, - "src": "2551:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4311, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4182, - "src": "2571:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4312, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4184, - "src": "2591:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "31", - "id": 4313, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2611:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 4314, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2627:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 4302, - "name": "_ECTwistAddJacobian", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5303, - "src": "2385:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$6_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256) pure returns (uint256[6] memory)" - } - }, - "id": 4315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2385:254:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2361:278:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4318, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4301, - "src": "2704:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4320, - "indexExpression": { - "argumentTypes": null, - "id": 4319, - "name": "PTXX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4153, - "src": "2708:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2704:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4321, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4301, - "src": "2732:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4323, - "indexExpression": { - "argumentTypes": null, - "id": 4322, - "name": "PTXY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4156, - "src": "2736:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2732:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4324, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4301, - "src": "2760:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4326, - "indexExpression": { - "argumentTypes": null, - "id": 4325, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "2764:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2760:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4327, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4301, - "src": "2788:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4329, - "indexExpression": { - "argumentTypes": null, - "id": 4328, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "2792:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2788:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4330, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4301, - "src": "2816:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4332, - "indexExpression": { - "argumentTypes": null, - "id": 4331, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "2820:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2816:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4333, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4301, - "src": "2844:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4335, - "indexExpression": { - "argumentTypes": null, - "id": 4334, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "2848:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2844:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4317, - "name": "_fromJacobian", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4840, - "src": "2672:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) view returns (uint256,uint256,uint256,uint256)" - } - }, - "id": 4336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2672:196:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256)" - } - }, - "functionReturnParameters": 4194, - "id": 4337, - "nodeType": "Return", - "src": "2652:216:10" - } - ] - }, - "documentation": "@notice Add two twist points\n@param pt1xx Coefficient 1 of x on point 1\n@param pt1xy Coefficient 2 of x on point 1\n@param pt1yx Coefficient 1 of y on point 1\n@param pt1yy Coefficient 2 of y on point 1\n@param pt2xx Coefficient 1 of x on point 2\n@param pt2xy Coefficient 2 of x on point 2\n@param pt2yx Coefficient 1 of y on point 2\n@param pt2yy Coefficient 2 of y on point 2\n@return (pt3xx, pt3xy, pt3yx, pt3yy)", - "functionSelector": "61a931ec", - "id": 4339, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ECTwistAdd", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4185, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4170, - "name": "pt1xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1418:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4169, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1418:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4172, - "name": "pt1xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1442:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4171, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1442:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4174, - "name": "pt1yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1466:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1466:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4176, - "name": "pt1yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1490:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4175, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1490:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4178, - "name": "pt2xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1514:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4177, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1514:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4180, - "name": "pt2xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1538:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4179, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1538:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4182, - "name": "pt2yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1562:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4181, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1562:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4184, - "name": "pt2yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1586:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4183, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1586:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1407:199:10" - }, - "returnParameters": { - "id": 4194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4187, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1669:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4186, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1669:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4189, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1691:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4188, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1691:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4191, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1713:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4190, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1713:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4193, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4339, - "src": "1735:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4192, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1735:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1654:99:10" - }, - "scope": 5633, - "src": "1388:1488:10", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4440, - "nodeType": "Block", - "src": "3496:695:10", - "statements": [ - { - "assignments": [ - 4361 - ], - "declarations": [ - { - "constant": false, - "id": 4361, - "name": "pt1zx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4440, - "src": "3507:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4360, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3507:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4363, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 4362, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3523:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3507:17:10" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4364, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4343, - "src": "3539:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4365, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3548:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3539:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4367, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4345, - "src": "3553:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4368, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3562:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3553:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3539:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4371, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "3567:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4372, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3576:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3567:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3539:38:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4375, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4349, - "src": "3581:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3590:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3581:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3539:52:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4401, - "nodeType": "Block", - "src": "3683:73:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4394, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4343, - "src": "3716:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4395, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4345, - "src": "3723:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4396, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "3730:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4397, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4349, - "src": "3737:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4393, - "name": "_isOnCurve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4761, - "src": "3705:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (bool)" - } - }, - "id": 4398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3705:38:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4392, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -3, - "src": "3698:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3698:46:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4400, - "nodeType": "ExpressionStatement", - "src": "3698:46:10" - } - ] - }, - "id": 4402, - "nodeType": "IfStatement", - "src": "3535:221:10", - "trueBody": { - "id": 4391, - "nodeType": "Block", - "src": "3593:84:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4379, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4343, - "src": "3608:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 4380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3616:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3608:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4382, - "nodeType": "ExpressionStatement", - "src": "3608:9:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4383, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "3632:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 4384, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3640:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3632:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4386, - "nodeType": "ExpressionStatement", - "src": "3632:9:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4387, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4361, - "src": "3656:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 4388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3664:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3656:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4390, - "nodeType": "ExpressionStatement", - "src": "3656:9:10" - } - ] - } - }, - { - "assignments": [ - 4408 - ], - "declarations": [ - { - "constant": false, - "id": 4408, - "name": "pt2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4440, - "src": "3768:21:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6]" - }, - "typeName": { - "baseType": { - "id": 4406, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3768:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4407, - "length": { - "argumentTypes": null, - "hexValue": "36", - "id": 4405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3776:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "nodeType": "ArrayTypeName", - "src": "3768:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", - "typeString": "uint256[6]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4418, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4410, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "3826:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4411, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4343, - "src": "3842:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4412, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4345, - "src": "3862:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4413, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "3882:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4414, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4349, - "src": "3902:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4415, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4361, - "src": "3922:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 4416, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3942:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 4409, - "name": "_ECTwistMulJacobian", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "3792:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$6_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256,uint256) pure returns (uint256[6] memory)" - } - }, - "id": 4417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3792:162:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3768:186:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4420, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4408, - "src": "4019:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4422, - "indexExpression": { - "argumentTypes": null, - "id": 4421, - "name": "PTXX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4153, - "src": "4023:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4019:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4423, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4408, - "src": "4047:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4425, - "indexExpression": { - "argumentTypes": null, - "id": 4424, - "name": "PTXY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4156, - "src": "4051:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4047:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4426, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4408, - "src": "4075:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4428, - "indexExpression": { - "argumentTypes": null, - "id": 4427, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "4079:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4075:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4429, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4408, - "src": "4103:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4431, - "indexExpression": { - "argumentTypes": null, - "id": 4430, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "4107:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4103:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4432, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4408, - "src": "4131:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4434, - "indexExpression": { - "argumentTypes": null, - "id": 4433, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "4135:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4131:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4435, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4408, - "src": "4159:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4437, - "indexExpression": { - "argumentTypes": null, - "id": 4436, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "4163:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4159:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4419, - "name": "_fromJacobian", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4840, - "src": "3987:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) view returns (uint256,uint256,uint256,uint256)" - } - }, - "id": 4438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3987:196:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256)" - } - }, - "functionReturnParameters": 4359, - "id": 4439, - "nodeType": "Return", - "src": "3967:216:10" - } - ] - }, - "documentation": "@notice Multiply a twist point by a scalar\n@param s Scalar to multiply by\n@param pt1xx Coefficient 1 of x\n@param pt1xy Coefficient 2 of x\n@param pt1yx Coefficient 1 of y\n@param pt1yy Coefficient 2 of y\n@return (pt2xx, pt2xy, pt2yx, pt2yy)", - "functionSelector": "b73ab75d", - "id": 4441, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ECTwistMul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4350, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4341, - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4441, - "src": "3231:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4340, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3231:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4343, - "name": "pt1xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4441, - "src": "3251:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4342, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3251:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4345, - "name": "pt1xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4441, - "src": "3275:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3275:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4347, - "name": "pt1yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4441, - "src": "3299:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3299:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4349, - "name": "pt1yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4441, - "src": "3323:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4348, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3323:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3220:123:10" - }, - "returnParameters": { - "id": 4359, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4352, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4441, - "src": "3406:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4351, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3406:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4354, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4441, - "src": "3428:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4353, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3428:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4356, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4441, - "src": "3450:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4355, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3450:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4358, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4441, - "src": "3472:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4357, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3472:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3391:99:10" - }, - "scope": 5633, - "src": "3201:990:10", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4448, - "nodeType": "Block", - "src": "4346:39:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4446, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "4364:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4445, - "id": 4447, - "nodeType": "Return", - "src": "4357:20:10" - } - ] - }, - "documentation": "@notice Get the field modulus\n@return The field modulus", - "functionSelector": "55a3e90f", - "id": 4449, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "GetFieldModulus", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4442, - "nodeType": "ParameterList", - "parameters": [], - "src": "4313:2:10" - }, - "returnParameters": { - "id": 4445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4444, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4449, - "src": "4337:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4443, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4337:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4336:9:10" - }, - "scope": 5633, - "src": "4289:96:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4468, - "nodeType": "Block", - "src": "4508:45:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4461, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4451, - "src": "4533:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4462, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4455, - "src": "4536:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 4463, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4453, - "src": "4540:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4536:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4465, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4455, - "src": "4543:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4460, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "4526:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4526:19:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4459, - "id": 4467, - "nodeType": "Return", - "src": "4519:26:10" - } - ] - }, - "documentation": null, - "id": 4469, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "submod", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4456, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4451, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4469, - "src": "4419:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4419:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4453, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4469, - "src": "4439:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4452, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4439:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4455, - "name": "n", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4469, - "src": "4459:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4454, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4459:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4408:67:10" - }, - "returnParameters": { - "id": 4459, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4458, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4469, - "src": "4499:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4457, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4499:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4498:9:10" - }, - "scope": 5633, - "src": "4393:160:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4512, - "nodeType": "Block", - "src": "4710:365:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4486, - "name": "xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4471, - "src": "4775:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4487, - "name": "yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4475, - "src": "4779:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4488, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "4783:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4485, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "4768:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4768:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4491, - "name": "xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4473, - "src": "4823:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4492, - "name": "yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4477, - "src": "4827:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4493, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "4831:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4490, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "4816:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4816:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4495, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "4864:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4484, - "name": "submod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4469, - "src": "4743:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4743:149:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4499, - "name": "xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4471, - "src": "4939:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4500, - "name": "yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4477, - "src": "4943:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4501, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "4947:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4498, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "4932:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4932:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4504, - "name": "xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4473, - "src": "4987:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4505, - "name": "yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4475, - "src": "4991:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4506, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "4995:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4503, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "4980:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4980:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4508, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "5028:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4497, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "4907:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4907:149:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4510, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4728:339:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 4483, - "id": 4511, - "nodeType": "Return", - "src": "4721:346:10" - } - ] - }, - "documentation": null, - "id": 4513, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_FQ2Mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4478, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4471, - "name": "xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4513, - "src": "4588:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4470, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4588:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4473, - "name": "xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4513, - "src": "4609:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4472, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4609:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4475, - "name": "yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4513, - "src": "4630:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4630:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4477, - "name": "yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4513, - "src": "4651:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4476, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4651:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4577:91:10" - }, - "returnParameters": { - "id": 4483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4480, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4513, - "src": "4692:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4479, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4692:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4482, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4513, - "src": "4701:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4481, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4701:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4691:18:10" - }, - "scope": 5633, - "src": "4561:514:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4538, - "nodeType": "Block", - "src": "5210:86:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4527, - "name": "xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4515, - "src": "5236:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4528, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4519, - "src": "5240:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4529, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "5243:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4526, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5229:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5229:28:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4532, - "name": "xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "5266:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4533, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4519, - "src": "5270:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4534, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "5273:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4531, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5259:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5259:28:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4536, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5228:60:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 4525, - "id": 4537, - "nodeType": "Return", - "src": "5221:67:10" - } - ] - }, - "documentation": null, - "id": 4539, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_FQ2Muc", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4520, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4515, - "name": "xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "5110:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5110:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4517, - "name": "xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "5131:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5131:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4519, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "5152:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4518, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5152:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5099:69:10" - }, - "returnParameters": { - "id": 4525, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4522, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "5192:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4521, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5192:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4524, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "5201:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4523, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5201:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5191:18:10" - }, - "scope": 5633, - "src": "5083:213:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4566, - "nodeType": "Block", - "src": "5453:88:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4555, - "name": "xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "5479:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4556, - "name": "yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4545, - "src": "5483:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4557, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "5487:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4554, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "5472:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5472:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4560, - "name": "xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4543, - "src": "5510:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4561, - "name": "yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4547, - "src": "5514:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4562, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "5518:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4559, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "5503:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5503:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4564, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5471:62:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 4553, - "id": 4565, - "nodeType": "Return", - "src": "5464:69:10" - } - ] - }, - "documentation": null, - "id": 4567, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_FQ2Add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4548, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4541, - "name": "xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4567, - "src": "5331:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4540, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5331:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4543, - "name": "xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4567, - "src": "5352:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4542, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5352:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4545, - "name": "yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4567, - "src": "5373:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4544, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5373:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4547, - "name": "yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4567, - "src": "5394:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5394:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5320:91:10" - }, - "returnParameters": { - "id": 4553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4550, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4567, - "src": "5435:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4549, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5435:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4552, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4567, - "src": "5444:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5444:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5434:18:10" - }, - "scope": 5633, - "src": "5304:237:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4594, - "nodeType": "Block", - "src": "5704:88:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4583, - "name": "xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4569, - "src": "5730:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4584, - "name": "yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "5734:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4585, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "5738:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4582, - "name": "submod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4469, - "src": "5723:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5723:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4588, - "name": "xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4571, - "src": "5761:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4589, - "name": "yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4575, - "src": "5765:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4590, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "5769:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4587, - "name": "submod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4469, - "src": "5754:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5754:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4592, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5722:62:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 4581, - "id": 4593, - "nodeType": "Return", - "src": "5715:69:10" - } - ] - }, - "documentation": null, - "id": 4595, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_FQ2Sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4569, - "name": "xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4595, - "src": "5576:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4568, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5576:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4571, - "name": "xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4595, - "src": "5597:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4570, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5597:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4573, - "name": "yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4595, - "src": "5618:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4572, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5618:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4575, - "name": "yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4595, - "src": "5639:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5639:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5565:91:10" - }, - "returnParameters": { - "id": 4581, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4578, - "name": "rx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4595, - "src": "5680:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4577, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5680:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4580, - "name": "ry", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4595, - "src": "5692:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4579, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5692:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5679:24:10" - }, - "scope": 5633, - "src": "5549:243:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4626, - "nodeType": "Block", - "src": "5949:86:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4610, - "name": "yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4601, - "src": "5961:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4611, - "name": "yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4603, - "src": "5965:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4612, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "5960:8:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4614, - "name": "yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4601, - "src": "5979:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4615, - "name": "yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4603, - "src": "5983:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4613, - "name": "_FQ2Inv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4672, - "src": "5971:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256,uint256)" - } - }, - "id": 4616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5971:15:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "5960:26:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4618, - "nodeType": "ExpressionStatement", - "src": "5960:26:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4620, - "name": "xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4597, - "src": "6012:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4621, - "name": "xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4599, - "src": "6016:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4622, - "name": "yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4601, - "src": "6020:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4623, - "name": "yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4603, - "src": "6024:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4619, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "6004:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6004:23:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 4609, - "id": 4625, - "nodeType": "Return", - "src": "5997:30:10" - } - ] - }, - "documentation": null, - "id": 4627, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_FQ2Div", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4604, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4597, - "name": "xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4627, - "src": "5827:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4596, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5827:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4599, - "name": "xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4627, - "src": "5848:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4598, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5848:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4601, - "name": "yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4627, - "src": "5869:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5869:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4603, - "name": "yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4627, - "src": "5890:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4602, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5890:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5816:91:10" - }, - "returnParameters": { - "id": 4609, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4606, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4627, - "src": "5931:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4605, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5931:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4608, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4627, - "src": "5940:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4607, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5940:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5930:18:10" - }, - "scope": 5633, - "src": "5800:235:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4671, - "nodeType": "Block", - "src": "6155:372:10", - "statements": [ - { - "assignments": [ - 4639 - ], - "declarations": [ - { - "constant": false, - "id": 4639, - "name": "inv", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4671, - "src": "6166:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4638, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6166:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4656, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4643, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4631, - "src": "6234:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4644, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4631, - "src": "6237:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4645, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "6240:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4642, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "6227:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6227:27:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4648, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4629, - "src": "6280:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4649, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4629, - "src": "6283:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4650, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "6286:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4647, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "6273:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6273:27:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4652, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "6319:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4641, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "6202:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6202:145:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4654, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "6362:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4640, - "name": "_modInv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4779, - "src": "6180:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 4655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6180:206:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6166:220:10" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4658, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4629, - "src": "6426:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4659, - "name": "inv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4639, - "src": "6429:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4660, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "6434:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4657, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "6419:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6419:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4662, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "6463:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4664, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4631, - "src": "6486:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4665, - "name": "inv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4639, - "src": "6489:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4666, - "name": "FIELD_MODULUS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4144, - "src": "6494:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4663, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "6479:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6479:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6463:45:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4669, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6404:115:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 4637, - "id": 4670, - "nodeType": "Return", - "src": "6397:122:10" - } - ] - }, - "documentation": null, - "id": 4672, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_FQ2Inv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4632, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4629, - "name": "x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4672, - "src": "6060:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6060:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4631, - "name": "y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4672, - "src": "6071:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4630, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6071:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6059:22:10" - }, - "returnParameters": { - "id": 4637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4634, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4672, - "src": "6132:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4633, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6132:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4636, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4672, - "src": "6141:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6141:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6131:18:10" - }, - "scope": 5633, - "src": "6043:484:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4760, - "nodeType": "Block", - "src": "6675:397:10", - "statements": [ - { - "assignments": [ - 4686 - ], - "declarations": [ - { - "constant": false, - "id": 4686, - "name": "yyx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4760, - "src": "6686:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4685, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6686:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4687, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "6686:11:10" - }, - { - "assignments": [ - 4689 - ], - "declarations": [ - { - "constant": false, - "id": 4689, - "name": "yyy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4760, - "src": "6708:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6708:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4690, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "6708:11:10" - }, - { - "assignments": [ - 4692 - ], - "declarations": [ - { - "constant": false, - "id": 4692, - "name": "xxxx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4760, - "src": "6730:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4691, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6730:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4693, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "6730:12:10" - }, - { - "assignments": [ - 4695 - ], - "declarations": [ - { - "constant": false, - "id": 4695, - "name": "xxxy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4760, - "src": "6753:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4694, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6753:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4696, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "6753:12:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4697, - "name": "yyx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "6777:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4698, - "name": "yyy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4689, - "src": "6782:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4699, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "6776:10:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4701, - "name": "yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4678, - "src": "6797:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4702, - "name": "yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4680, - "src": "6801:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4703, - "name": "yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4678, - "src": "6805:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4704, - "name": "yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4680, - "src": "6809:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4700, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "6789:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6789:23:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "6776:36:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4707, - "nodeType": "ExpressionStatement", - "src": "6776:36:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4708, - "name": "xxxx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "6824:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4709, - "name": "xxxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4695, - "src": "6830:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4710, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "6823:12:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4712, - "name": "xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4674, - "src": "6846:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4713, - "name": "xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4676, - "src": "6850:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4714, - "name": "xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4674, - "src": "6854:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4715, - "name": "xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4676, - "src": "6858:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4711, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "6838:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6838:23:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "6823:38:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4718, - "nodeType": "ExpressionStatement", - "src": "6823:38:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4719, - "name": "xxxx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "6873:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4720, - "name": "xxxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4695, - "src": "6879:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4721, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "6872:12:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4723, - "name": "xxxx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "6895:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4724, - "name": "xxxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4695, - "src": "6901:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4725, - "name": "xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4674, - "src": "6907:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4726, - "name": "xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4676, - "src": "6911:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4722, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "6887:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6887:27:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "6872:42:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4729, - "nodeType": "ExpressionStatement", - "src": "6872:42:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4730, - "name": "yyx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "6926:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4731, - "name": "yyy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4689, - "src": "6931:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4732, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "6925:10:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4734, - "name": "yyx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "6946:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4735, - "name": "yyy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4689, - "src": "6951:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4736, - "name": "xxxx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "6956:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4737, - "name": "xxxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4695, - "src": "6962:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4733, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "6938:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6938:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "6925:42:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4740, - "nodeType": "ExpressionStatement", - "src": "6925:42:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4741, - "name": "yyx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "6979:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4742, - "name": "yyy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4689, - "src": "6984:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4743, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "6978:10:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4745, - "name": "yyx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "6999:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4746, - "name": "yyy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4689, - "src": "7004:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4747, - "name": "TWISTBX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4147, - "src": "7009:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4748, - "name": "TWISTBY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4150, - "src": "7018:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4744, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "6991:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6991:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "6978:48:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4751, - "nodeType": "ExpressionStatement", - "src": "6978:48:10" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4752, - "name": "yyx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "7044:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7051:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7044:8:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4755, - "name": "yyy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4689, - "src": "7056:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7063:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7056:8:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7044:20:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 4684, - "id": 4759, - "nodeType": "Return", - "src": "7037:27:10" - } - ] - }, - "documentation": null, - "id": 4761, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isOnCurve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4681, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4674, - "name": "xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4761, - "src": "6565:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4673, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6565:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4676, - "name": "xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4761, - "src": "6586:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4675, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6586:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4678, - "name": "yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4761, - "src": "6607:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4677, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6607:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4680, - "name": "yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4761, - "src": "6628:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6628:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6554:91:10" - }, - "returnParameters": { - "id": 4684, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4683, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4761, - "src": "6669:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4682, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6669:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6668:6:10" - }, - "scope": 5633, - "src": "6535:537:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4778, - "nodeType": "Block", - "src": "7190:634:10", - "statements": [ - { - "assignments": [ - 4771 - ], - "declarations": [ - { - "constant": false, - "id": 4771, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4778, - "src": "7201:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4770, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7201:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4772, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "7201:12:10" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "7233:557:10", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7248:26:10", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7269:4:10", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7263:5:10" - }, - "nodeType": "YulFunctionCall", - "src": "7263:11:10" - }, - "variables": [ - { - "name": "freemem", - "nodeType": "YulTypedName", - "src": "7252:7:10", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "freemem", - "nodeType": "YulIdentifier", - "src": "7295:7:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7304:4:10", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7288:6:10" - }, - "nodeType": "YulFunctionCall", - "src": "7288:21:10" - }, - "nodeType": "YulExpressionStatement", - "src": "7288:21:10" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "freemem", - "nodeType": "YulIdentifier", - "src": "7334:7:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7343:4:10", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7330:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "7330:18:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7350:4:10", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7323:6:10" - }, - "nodeType": "YulFunctionCall", - "src": "7323:32:10" - }, - "nodeType": "YulExpressionStatement", - "src": "7323:32:10" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "freemem", - "nodeType": "YulIdentifier", - "src": "7380:7:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7389:4:10", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7376:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "7376:18:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7396:4:10", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7369:6:10" - }, - "nodeType": "YulFunctionCall", - "src": "7369:32:10" - }, - "nodeType": "YulExpressionStatement", - "src": "7369:32:10" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "freemem", - "nodeType": "YulIdentifier", - "src": "7426:7:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7435:4:10", - "type": "", - "value": "0x60" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7422:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "7422:18:10" - }, - { - "name": "a", - "nodeType": "YulIdentifier", - "src": "7442:1:10" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7415:6:10" - }, - "nodeType": "YulFunctionCall", - "src": "7415:29:10" - }, - "nodeType": "YulExpressionStatement", - "src": "7415:29:10" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "freemem", - "nodeType": "YulIdentifier", - "src": "7469:7:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7478:4:10", - "type": "", - "value": "0x80" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7465:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "7465:18:10" - }, - { - "arguments": [ - { - "name": "n", - "nodeType": "YulIdentifier", - "src": "7489:1:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7492:1:10", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "7485:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "7485:9:10" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7458:6:10" - }, - "nodeType": "YulFunctionCall", - "src": "7458:37:10" - }, - "nodeType": "YulExpressionStatement", - "src": "7458:37:10" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "freemem", - "nodeType": "YulIdentifier", - "src": "7520:7:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7529:4:10", - "type": "", - "value": "0xA0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7516:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "7516:18:10" - }, - { - "name": "n", - "nodeType": "YulIdentifier", - "src": "7536:1:10" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7509:6:10" - }, - "nodeType": "YulFunctionCall", - "src": "7509:29:10" - }, - "nodeType": "YulExpressionStatement", - "src": "7509:29:10" - }, - { - "nodeType": "YulAssignment", - "src": "7552:189:10", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "functionName": { - "name": "gas", - "nodeType": "YulIdentifier", - "src": "7596:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "7596:5:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7603:4:10", - "type": "", - "value": "2000" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "7592:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "7592:16:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7627:1:10", - "type": "", - "value": "5" - }, - { - "name": "freemem", - "nodeType": "YulIdentifier", - "src": "7647:7:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7673:4:10", - "type": "", - "value": "0xC0" - }, - { - "name": "freemem", - "nodeType": "YulIdentifier", - "src": "7696:7:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7722:4:10", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "staticcall", - "nodeType": "YulIdentifier", - "src": "7563:10:10" - }, - "nodeType": "YulFunctionCall", - "src": "7563:178:10" - }, - "variableNames": [ - { - "name": "success", - "nodeType": "YulIdentifier", - "src": "7552:7:10" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7755:24:10", - "value": { - "arguments": [ - { - "name": "freemem", - "nodeType": "YulIdentifier", - "src": "7771:7:10" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7765:5:10" - }, - "nodeType": "YulFunctionCall", - "src": "7765:14:10" - }, - "variableNames": [ - { - "name": "result", - "nodeType": "YulIdentifier", - "src": "7755:6:10" - } - ] - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 4763, - "isOffset": false, - "isSlot": false, - "src": "7442:1:10", - "valueSize": 1 - }, - { - "declaration": 4765, - "isOffset": false, - "isSlot": false, - "src": "7489:1:10", - "valueSize": 1 - }, - { - "declaration": 4765, - "isOffset": false, - "isSlot": false, - "src": "7536:1:10", - "valueSize": 1 - }, - { - "declaration": 4768, - "isOffset": false, - "isSlot": false, - "src": "7755:6:10", - "valueSize": 1 - }, - { - "declaration": 4771, - "isOffset": false, - "isSlot": false, - "src": "7552:7:10", - "valueSize": 1 - } - ], - "id": 4773, - "nodeType": "InlineAssembly", - "src": "7224:566:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4775, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4771, - "src": "7808:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4774, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7800:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7800:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4777, - "nodeType": "ExpressionStatement", - "src": "7800:16:10" - } - ] - }, - "documentation": null, - "id": 4779, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_modInv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4766, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4763, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4779, - "src": "7097:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4762, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7097:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4765, - "name": "n", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4779, - "src": "7108:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4764, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7108:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7096:22:10" - }, - "returnParameters": { - "id": 4769, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4768, - "name": "result", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4779, - "src": "7169:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4767, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7169:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7168:16:10" - }, - "scope": 5633, - "src": "7080:744:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4839, - "nodeType": "Block", - "src": "8184:231:10", - "statements": [ - { - "assignments": [ - 4803 - ], - "declarations": [ - { - "constant": false, - "id": 4803, - "name": "invzx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4839, - "src": "8195:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4802, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8195:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4804, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "8195:13:10" - }, - { - "assignments": [ - 4806 - ], - "declarations": [ - { - "constant": false, - "id": 4806, - "name": "invzy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4839, - "src": "8219:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8219:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4807, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "8219:13:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4808, - "name": "invzx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4803, - "src": "8244:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4809, - "name": "invzy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4806, - "src": "8251:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4810, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "8243:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4812, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4789, - "src": "8268:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4813, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4791, - "src": "8275:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4811, - "name": "_FQ2Inv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4672, - "src": "8260:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256,uint256)" - } - }, - "id": 4814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8260:21:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "8243:38:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4816, - "nodeType": "ExpressionStatement", - "src": "8243:38:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4817, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4794, - "src": "8293:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4818, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4796, - "src": "8300:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4819, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "8292:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4821, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4781, - "src": "8317:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4822, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4783, - "src": "8324:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4823, - "name": "invzx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4803, - "src": "8331:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4824, - "name": "invzy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4806, - "src": "8338:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4820, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "8309:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8309:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "8292:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4827, - "nodeType": "ExpressionStatement", - "src": "8292:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4828, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4798, - "src": "8356:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4829, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4800, - "src": "8363:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4830, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "8355:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4832, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4785, - "src": "8380:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4833, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4787, - "src": "8387:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4834, - "name": "invzx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4803, - "src": "8394:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4835, - "name": "invzy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4806, - "src": "8401:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4831, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "8372:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8372:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "8355:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4838, - "nodeType": "ExpressionStatement", - "src": "8355:52:10" - } - ] - }, - "documentation": null, - "id": 4840, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_fromJacobian", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4781, - "name": "pt1xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4840, - "src": "7865:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4780, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7865:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4783, - "name": "pt1xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4840, - "src": "7889:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7889:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4785, - "name": "pt1yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4840, - "src": "7913:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4784, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7913:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4787, - "name": "pt1yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4840, - "src": "7937:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4786, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7937:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4789, - "name": "pt1zx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4840, - "src": "7961:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4788, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7961:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4791, - "name": "pt1zy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4840, - "src": "7985:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4790, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7985:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7854:151:10" - }, - "returnParameters": { - "id": 4801, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4794, - "name": "pt2xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4840, - "src": "8070:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4793, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8070:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4796, - "name": "pt2xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4840, - "src": "8098:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4795, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8098:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4798, - "name": "pt2yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4840, - "src": "8126:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4797, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8126:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4800, - "name": "pt2yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4840, - "src": "8154:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4799, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8154:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8055:123:10" - }, - "scope": 5633, - "src": "7832:583:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5302, - "nodeType": "Block", - "src": "8793:3378:10", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4871, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "8808:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4872, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8817:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8808:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4874, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "8822:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8831:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8822:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8808:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4909, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "9124:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4910, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9133:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9124:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4912, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "9138:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4913, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9147:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9138:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9124:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4947, - "nodeType": "IfStatement", - "src": "9120:310:10", - "trueBody": { - "id": 4946, - "nodeType": "Block", - "src": "9150:280:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4916, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9184:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4918, - "indexExpression": { - "argumentTypes": null, - "id": 4917, - "name": "PTXX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4153, - "src": "9188:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9184:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4919, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9212:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4921, - "indexExpression": { - "argumentTypes": null, - "id": 4920, - "name": "PTXY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4156, - "src": "9216:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9212:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4922, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9240:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4924, - "indexExpression": { - "argumentTypes": null, - "id": 4923, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "9244:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9240:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4925, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9268:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4927, - "indexExpression": { - "argumentTypes": null, - "id": 4926, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "9272:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9268:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4928, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9296:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4930, - "indexExpression": { - "argumentTypes": null, - "id": 4929, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "9300:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9296:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4931, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9324:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4933, - "indexExpression": { - "argumentTypes": null, - "id": 4932, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "9328:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9324:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4934, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "9165:183:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4935, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4842, - "src": "9352:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4936, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "9359:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4937, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "9366:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4938, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "9373:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4939, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "9380:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4940, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "9387:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4941, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9351:42:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "src": "9165:228:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4943, - "nodeType": "ExpressionStatement", - "src": "9165:228:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4944, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9415:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "functionReturnParameters": 4870, - "id": 4945, - "nodeType": "Return", - "src": "9408:10:10" - } - ] - } - }, - "id": 4948, - "nodeType": "IfStatement", - "src": "8804:626:10", - "trueBody": { - "id": 4908, - "nodeType": "Block", - "src": "8834:280:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4878, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "8868:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4880, - "indexExpression": { - "argumentTypes": null, - "id": 4879, - "name": "PTXX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4153, - "src": "8872:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8868:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4881, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "8896:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4883, - "indexExpression": { - "argumentTypes": null, - "id": 4882, - "name": "PTXY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4156, - "src": "8900:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8896:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4884, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "8924:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4886, - "indexExpression": { - "argumentTypes": null, - "id": 4885, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "8928:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8924:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4887, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "8952:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4889, - "indexExpression": { - "argumentTypes": null, - "id": 4888, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "8956:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8952:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4890, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "8980:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4892, - "indexExpression": { - "argumentTypes": null, - "id": 4891, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "8984:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8980:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4893, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9008:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4895, - "indexExpression": { - "argumentTypes": null, - "id": 4894, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "9012:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9008:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4896, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "8849:183:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4897, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "9036:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4898, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "9043:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4899, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4858, - "src": "9050:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4900, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "src": "9057:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4901, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "9064:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4902, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "9071:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4903, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9035:42:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "src": "8849:228:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4905, - "nodeType": "ExpressionStatement", - "src": "8849:228:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4906, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9099:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "functionReturnParameters": 4870, - "id": 4907, - "nodeType": "Return", - "src": "9092:10:10" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 4958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4949, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4858, - "src": "9443:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4950, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "src": "9450:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4951, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "9442:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4953, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4858, - "src": "9467:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4954, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "src": "9474:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4955, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "9481:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4956, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "9488:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4952, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "9459:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9459:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "9442:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4959, - "nodeType": "ExpressionStatement", - "src": "9442:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4960, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9522:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4962, - "indexExpression": { - "argumentTypes": null, - "id": 4961, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "9526:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9522:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4963, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9533:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4965, - "indexExpression": { - "argumentTypes": null, - "id": 4964, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "9537:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9533:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4966, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "9521:22:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4968, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "9554:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4969, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "9561:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4970, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "9568:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4971, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "9575:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4967, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "9546:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9546:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "9521:60:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4974, - "nodeType": "ExpressionStatement", - "src": "9521:60:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 4975, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "9609:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4976, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "9616:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4977, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "9608:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4979, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "9633:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4980, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "9640:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4981, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "9647:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4982, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "9654:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4978, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "9625:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9625:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "9608:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4985, - "nodeType": "ExpressionStatement", - "src": "9608:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 4999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4986, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9688:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4988, - "indexExpression": { - "argumentTypes": null, - "id": 4987, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "9692:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9688:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4989, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9699:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 4991, - "indexExpression": { - "argumentTypes": null, - "id": 4990, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "9703:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9699:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4992, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "9687:22:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4994, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4842, - "src": "9720:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4995, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "9727:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4996, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "9734:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4997, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "9741:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4993, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "9712:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 4998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9712:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "9687:60:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5000, - "nodeType": "ExpressionStatement", - "src": "9687:60:10" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5001, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "9780:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5002, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9789:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5004, - "indexExpression": { - "argumentTypes": null, - "id": 5003, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "9793:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9789:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9780:18:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5006, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "9802:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5007, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9811:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5009, - "indexExpression": { - "argumentTypes": null, - "id": 5008, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "9815:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9811:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9802:18:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9780:40:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5087, - "nodeType": "IfStatement", - "src": "9776:849:10", - "trueBody": { - "id": 5086, - "nodeType": "Block", - "src": "9822:803:10", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5012, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4858, - "src": "9841:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5013, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9850:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5015, - "indexExpression": { - "argumentTypes": null, - "id": 5014, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "9854:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9850:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9841:18:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5017, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "src": "9863:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5018, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9872:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5020, - "indexExpression": { - "argumentTypes": null, - "id": 5019, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "9876:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9872:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9863:18:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9841:40:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5055, - "nodeType": "IfStatement", - "src": "9837:533:10", - "trueBody": { - "id": 5054, - "nodeType": "Block", - "src": "9883:487:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5023, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9925:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5025, - "indexExpression": { - "argumentTypes": null, - "id": 5024, - "name": "PTXX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4153, - "src": "9929:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9925:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5026, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9957:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5028, - "indexExpression": { - "argumentTypes": null, - "id": 5027, - "name": "PTXY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4156, - "src": "9961:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9957:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5029, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "9989:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5031, - "indexExpression": { - "argumentTypes": null, - "id": 5030, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "9993:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9989:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5032, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10021:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5034, - "indexExpression": { - "argumentTypes": null, - "id": 5033, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "10025:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10021:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5035, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10053:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5037, - "indexExpression": { - "argumentTypes": null, - "id": 5036, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "10057:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10053:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5038, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10085:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5040, - "indexExpression": { - "argumentTypes": null, - "id": 5039, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "10089:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10085:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5041, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "9902:211:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5043, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4842, - "src": "10161:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5044, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "10189:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5045, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "10217:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5046, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "10245:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5047, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "10273:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5048, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "10301:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5042, - "name": "_ECTwistDoubleJacobian", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5545, - "src": "10116:22:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) pure returns (uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "id": 5049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10116:209:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "src": "9902:423:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5051, - "nodeType": "ExpressionStatement", - "src": "9902:423:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5052, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10351:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "functionReturnParameters": 4870, - "id": 5053, - "nodeType": "Return", - "src": "10344:10:10" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5056, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10403:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5058, - "indexExpression": { - "argumentTypes": null, - "id": 5057, - "name": "PTXX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4153, - "src": "10407:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10403:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5059, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10431:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5061, - "indexExpression": { - "argumentTypes": null, - "id": 5060, - "name": "PTXY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4156, - "src": "10435:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10431:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5062, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10459:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5064, - "indexExpression": { - "argumentTypes": null, - "id": 5063, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "10463:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10459:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5065, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10487:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5067, - "indexExpression": { - "argumentTypes": null, - "id": 5066, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "10491:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10487:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5068, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10515:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5070, - "indexExpression": { - "argumentTypes": null, - "id": 5069, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "10519:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10515:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5071, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10543:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5073, - "indexExpression": { - "argumentTypes": null, - "id": 5072, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "10547:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10543:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5074, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "10384:183:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 5075, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10571:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 5076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10574:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "hexValue": "31", - "id": 5077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10577:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 5078, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10580:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 5079, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10583:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 5080, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10586:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 5081, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10570:18:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_rational_1_by_1_$_t_rational_0_by_1_$_t_rational_1_by_1_$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_rational_0_by_1_$", - "typeString": "tuple(int_const 1,int_const 0,int_const 1,int_const 0,int_const 0,int_const 0)" - } - }, - "src": "10384:204:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5083, - "nodeType": "ExpressionStatement", - "src": "10384:204:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5084, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10610:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "functionReturnParameters": 4870, - "id": 5085, - "nodeType": "Return", - "src": "10603:10:10" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5088, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "10638:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5089, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "10645:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5090, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "10637:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5092, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "10662:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5093, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "10669:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5094, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "10676:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5095, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "10683:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5091, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "10654:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10654:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "10637:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5098, - "nodeType": "ExpressionStatement", - "src": "10637:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5099, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4842, - "src": "10716:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5100, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "10723:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5101, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "10715:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5103, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4858, - "src": "10740:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5104, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "src": "10747:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5105, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10754:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5107, - "indexExpression": { - "argumentTypes": null, - "id": 5106, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "10758:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10754:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5108, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10765:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5110, - "indexExpression": { - "argumentTypes": null, - "id": 5109, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "10769:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10765:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5102, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "10732:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10732:43:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "10715:60:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5113, - "nodeType": "ExpressionStatement", - "src": "10715:60:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5114, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "10802:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5115, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "10809:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5116, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "10801:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5118, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "10826:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5119, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "10833:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5120, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10840:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5122, - "indexExpression": { - "argumentTypes": null, - "id": 5121, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "10844:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10840:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5123, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "10851:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5125, - "indexExpression": { - "argumentTypes": null, - "id": 5124, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "10855:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10851:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5117, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "10818:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10818:43:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "10801:60:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5128, - "nodeType": "ExpressionStatement", - "src": "10801:60:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5129, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "10888:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5130, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "10895:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5131, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "10887:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5133, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "10912:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5134, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "10919:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5135, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "10926:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5136, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "10933:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5132, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "10904:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10904:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "10887:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5139, - "nodeType": "ExpressionStatement", - "src": "10887:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5140, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4858, - "src": "10972:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5141, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "src": "10979:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5142, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "10971:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5144, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "10996:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5145, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "11003:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5146, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "11010:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5148, - "indexExpression": { - "argumentTypes": null, - "id": 5147, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "11014:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11010:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5149, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "11021:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5151, - "indexExpression": { - "argumentTypes": null, - "id": 5150, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "11025:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11021:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5143, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "10988:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10988:43:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "10971:60:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5154, - "nodeType": "ExpressionStatement", - "src": "10971:60:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5155, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "11082:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5156, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "11089:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5157, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11081:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5159, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "11106:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5160, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "11113:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5161, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "11120:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5162, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "11127:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5158, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "11098:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11098:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11081:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5165, - "nodeType": "ExpressionStatement", - "src": "11081:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5166, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "11172:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5168, - "indexExpression": { - "argumentTypes": null, - "id": 5167, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "11176:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11172:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5169, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "11183:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5171, - "indexExpression": { - "argumentTypes": null, - "id": 5170, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "11187:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11183:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5172, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11171:22:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5174, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "11204:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5175, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "11211:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5176, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "11218:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5177, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "11225:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5173, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "11196:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11196:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11171:60:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5180, - "nodeType": "ExpressionStatement", - "src": "11171:60:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5181, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "11265:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5182, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "11272:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5183, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11264:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5185, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4842, - "src": "11289:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5186, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "11296:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5187, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4842, - "src": "11303:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5188, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "11310:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5184, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "11281:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11281:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11264:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5191, - "nodeType": "ExpressionStatement", - "src": "11264:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5192, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "11337:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5193, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "11344:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5194, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11336:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5196, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "11361:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5197, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "11368:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5198, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "11375:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5199, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "11382:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5195, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "11353:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11353:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11336:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5202, - "nodeType": "ExpressionStatement", - "src": "11336:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5203, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "11413:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5204, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "11420:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5205, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11412:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5207, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "11437:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5208, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "11444:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5209, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "11451:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5210, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "11458:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5206, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "11429:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11429:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11412:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5213, - "nodeType": "ExpressionStatement", - "src": "11412:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5214, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "11499:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5215, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "11506:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5216, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11498:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5218, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4858, - "src": "11523:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5219, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "src": "11530:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "32", - "id": 5220, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11537:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 5217, - "name": "_FQ2Muc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4539, - "src": "11515:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11515:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11498:41:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5223, - "nodeType": "ExpressionStatement", - "src": "11498:41:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5224, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "11577:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5225, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "11584:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5226, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11576:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5228, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "11601:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5229, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "11608:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5230, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "11615:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5231, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "11622:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5227, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "11593:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11593:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11576:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5234, - "nodeType": "ExpressionStatement", - "src": "11576:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5235, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "11692:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5237, - "indexExpression": { - "argumentTypes": null, - "id": 5236, - "name": "PTXX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4153, - "src": "11696:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11692:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5238, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "11703:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5240, - "indexExpression": { - "argumentTypes": null, - "id": 5239, - "name": "PTXY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4156, - "src": "11707:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11703:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5241, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11691:22:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5243, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "11724:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5244, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "11731:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5245, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "11738:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5246, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "11745:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5242, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "11716:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11716:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11691:60:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5249, - "nodeType": "ExpressionStatement", - "src": "11691:60:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5250, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "11779:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5251, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "11786:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5252, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11778:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5254, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4858, - "src": "11803:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5255, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "src": "11810:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5256, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "11817:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5257, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "11824:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5253, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "11795:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11795:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11778:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5260, - "nodeType": "ExpressionStatement", - "src": "11778:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5261, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "11868:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5262, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "11875:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5263, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11867:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5265, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4842, - "src": "11892:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5266, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "11899:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5267, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "11906:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5268, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "11913:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5264, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "11884:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11884:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11867:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5271, - "nodeType": "ExpressionStatement", - "src": "11867:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5272, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4842, - "src": "11963:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5273, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "11970:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5274, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11962:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5276, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "11987:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5277, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "11994:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5278, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "12001:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5280, - "indexExpression": { - "argumentTypes": null, - "id": 5279, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "12005:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12001:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5281, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "12012:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5283, - "indexExpression": { - "argumentTypes": null, - "id": 5282, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "12016:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12012:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5275, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "11979:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11979:43:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "11962:60:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5286, - "nodeType": "ExpressionStatement", - "src": "11962:60:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5287, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "12050:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5289, - "indexExpression": { - "argumentTypes": null, - "id": 5288, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "12054:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12050:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5290, - "name": "pt3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4869, - "src": "12061:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5292, - "indexExpression": { - "argumentTypes": null, - "id": 5291, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "12065:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12061:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5293, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "12049:22:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5295, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "12082:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5296, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "12089:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5297, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4842, - "src": "12096:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5298, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "12103:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5294, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "12074:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12074:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "12049:60:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5301, - "nodeType": "ExpressionStatement", - "src": "12049:60:10" - } - ] - }, - "documentation": null, - "id": 5303, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_ECTwistAddJacobian", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4865, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4842, - "name": "pt1xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8462:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8462:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4844, - "name": "pt1xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8486:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4843, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8486:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4846, - "name": "pt1yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8510:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4845, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8510:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4848, - "name": "pt1yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8534:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4847, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8534:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4850, - "name": "pt1zx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8558:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4849, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8558:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4852, - "name": "pt1zy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8582:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8582:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4854, - "name": "pt2xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8606:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4853, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8606:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4856, - "name": "pt2xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8630:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4855, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8630:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4858, - "name": "pt2yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8654:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4857, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8654:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4860, - "name": "pt2yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8678:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4859, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8678:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4862, - "name": "pt2zx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8702:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4861, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8702:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4864, - "name": "pt2zy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8726:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4863, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8726:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8451:295:10" - }, - "returnParameters": { - "id": 4870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4869, - "name": "pt3", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "8770:21:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6]" - }, - "typeName": { - "baseType": { - "id": 4866, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8770:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4868, - "length": { - "argumentTypes": null, - "hexValue": "36", - "id": 4867, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8778:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "nodeType": "ArrayTypeName", - "src": "8770:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", - "typeString": "uint256[6]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8769:23:10" - }, - "scope": 5633, - "src": "8423:3748:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5544, - "nodeType": "Block", - "src": "12596:1539:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5330, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "12608:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5331, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "12615:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5332, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "12607:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5334, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "12632:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5335, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "12639:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "33", - "id": 5336, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12646:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "id": 5333, - "name": "_FQ2Muc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4539, - "src": "12624:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12624:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "12607:41:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5339, - "nodeType": "ExpressionStatement", - "src": "12607:41:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5340, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "12669:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5341, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "12676:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5342, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "12668:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5344, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "12693:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5345, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "12700:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5346, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "12707:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5347, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "12714:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5343, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "12685:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12685:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "12668:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5350, - "nodeType": "ExpressionStatement", - "src": "12668:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5351, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5313, - "src": "12749:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5352, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5315, - "src": "12756:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5353, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "12748:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5355, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5309, - "src": "12773:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5356, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5311, - "src": "12780:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5357, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5313, - "src": "12787:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5358, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5315, - "src": "12794:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5354, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "12765:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12765:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "12748:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5361, - "nodeType": "ExpressionStatement", - "src": "12748:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5362, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "12825:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5363, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "12832:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5364, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "12824:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5366, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "12849:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5367, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "12856:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5368, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5309, - "src": "12863:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5369, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5311, - "src": "12870:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5365, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "12841:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12841:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "12824:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5372, - "nodeType": "ExpressionStatement", - "src": "12824:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5373, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "12897:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5374, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "12904:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5375, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "12896:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5377, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "12921:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5378, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "12928:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5379, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5313, - "src": "12935:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5380, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5315, - "src": "12942:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5376, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "12913:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12913:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "12896:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5383, - "nodeType": "ExpressionStatement", - "src": "12896:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5384, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "12977:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5385, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "12984:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5386, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "12976:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5388, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13001:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5389, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13008:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5390, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13015:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5391, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13022:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5387, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "12993:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12993:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "12976:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5394, - "nodeType": "ExpressionStatement", - "src": "12976:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5395, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5326, - "src": "13049:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5396, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5328, - "src": "13056:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5397, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13048:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5399, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "13073:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5400, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "13080:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "38", - "id": 5401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13087:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - } - ], - "id": 5398, - "name": "_FQ2Muc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4539, - "src": "13065:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13065:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13048:41:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5404, - "nodeType": "ExpressionStatement", - "src": "13048:41:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5405, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "13110:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5406, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "13117:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5407, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13109:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5409, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "13134:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5410, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "13141:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5411, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5326, - "src": "13148:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5412, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5328, - "src": "13155:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5408, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "13126:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13126:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13109:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5415, - "nodeType": "ExpressionStatement", - "src": "13109:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5416, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5326, - "src": "13194:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5417, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5328, - "src": "13201:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5418, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13193:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5420, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5313, - "src": "13218:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5421, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5315, - "src": "13225:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5422, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5313, - "src": "13232:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5423, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5315, - "src": "13239:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5419, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "13210:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13210:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13193:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5426, - "nodeType": "ExpressionStatement", - "src": "13193:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5427, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "13278:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5428, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "13285:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5429, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13277:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5431, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "13302:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5432, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "13309:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "34", - "id": 5433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13316:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - ], - "id": 5430, - "name": "_FQ2Muc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4539, - "src": "13294:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13294:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13277:41:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5436, - "nodeType": "ExpressionStatement", - "src": "13277:41:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5437, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "13339:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5438, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "13346:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5439, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13338:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5441, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "13363:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5442, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "13370:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5443, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "13377:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5444, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "13384:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5440, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "13355:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13355:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13338:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5447, - "nodeType": "ExpressionStatement", - "src": "13338:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5448, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "13415:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5449, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "13422:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5450, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13414:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5452, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "13439:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5453, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "13446:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5454, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13453:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5455, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13460:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5451, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "13431:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13431:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13414:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5458, - "nodeType": "ExpressionStatement", - "src": "13414:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5459, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13497:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5460, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13504:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5461, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13496:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5463, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5309, - "src": "13521:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5464, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5311, - "src": "13528:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "38", - "id": 5465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13535:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - } - ], - "id": 5462, - "name": "_FQ2Muc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4539, - "src": "13513:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13513:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13496:41:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5468, - "nodeType": "ExpressionStatement", - "src": "13496:41:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5469, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13558:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5470, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13565:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5471, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13557:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5473, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13582:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5474, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13589:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5475, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5309, - "src": "13596:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5476, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5311, - "src": "13603:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5472, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "13574:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13574:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13557:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5479, - "nodeType": "ExpressionStatement", - "src": "13557:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5480, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13634:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5481, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13641:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5482, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13633:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5484, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13658:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5485, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13665:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5486, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5326, - "src": "13672:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5487, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5328, - "src": "13679:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5483, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "13650:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13650:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13633:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5490, - "nodeType": "ExpressionStatement", - "src": "13633:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5491, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "13722:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5492, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "13729:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5493, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13721:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5495, - "name": "pt2yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "13746:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5496, - "name": "pt2yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5324, - "src": "13753:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5497, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13760:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5498, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13767:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5494, - "name": "_FQ2Sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4595, - "src": "13738:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13738:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13721:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5501, - "nodeType": "ExpressionStatement", - "src": "13721:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5502, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13835:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5503, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13842:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5504, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13834:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5506, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "13859:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5507, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "13866:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "32", - "id": 5508, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13873:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 5505, - "name": "_FQ2Muc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4539, - "src": "13851:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13851:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13834:41:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5511, - "nodeType": "ExpressionStatement", - "src": "13834:41:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5512, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13896:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5513, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13903:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5514, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13895:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5516, - "name": "pt2xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "13920:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5517, - "name": "pt2xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "13927:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5518, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5313, - "src": "13934:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5519, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5315, - "src": "13941:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5515, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "13912:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13912:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13895:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5522, - "nodeType": "ExpressionStatement", - "src": "13895:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5523, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5326, - "src": "13979:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5524, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5328, - "src": "13986:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5525, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13978:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5527, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5313, - "src": "14003:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5528, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5315, - "src": "14010:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5529, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5326, - "src": "14017:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5530, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5328, - "src": "14024:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5526, - "name": "_FQ2Mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4513, - "src": "13995:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13995:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "13978:52:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5533, - "nodeType": "ExpressionStatement", - "src": "13978:52:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5534, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5326, - "src": "14059:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5535, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5328, - "src": "14066:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5536, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "14058:14:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5538, - "name": "pt2zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5326, - "src": "14083:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5539, - "name": "pt2zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5328, - "src": "14090:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "38", - "id": 5540, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14097:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - } - ], - "id": 5537, - "name": "_FQ2Muc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4539, - "src": "14075:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256,uint256)" - } - }, - "id": 5541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14075:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "14058:41:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5543, - "nodeType": "ExpressionStatement", - "src": "14058:41:10" - } - ] - }, - "documentation": null, - "id": 5545, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_ECTwistDoubleJacobian", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5316, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5305, - "name": "pt1xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12221:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5304, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12221:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5307, - "name": "pt1xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12245:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12245:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5309, - "name": "pt1yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12269:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5308, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12269:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5311, - "name": "pt1yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12293:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5310, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12293:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5313, - "name": "pt1zx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12317:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5312, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12317:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5315, - "name": "pt1zy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12341:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5314, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12341:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12210:151:10" - }, - "returnParameters": { - "id": 5329, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5318, - "name": "pt2xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12426:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5317, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12426:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5320, - "name": "pt2xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12454:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5319, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12454:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5322, - "name": "pt2yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12482:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5321, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12482:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5324, - "name": "pt2yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12510:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5323, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12510:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5326, - "name": "pt2zx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12538:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5325, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12538:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5328, - "name": "pt2zy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5545, - "src": "12566:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5327, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12566:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12411:179:10" - }, - "scope": 5633, - "src": "12179:1956:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5631, - "nodeType": "Block", - "src": "14389:783:10", - "statements": [ - { - "body": { - "id": 5629, - "nodeType": "Block", - "src": "14415:750:10", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5569, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5547, - "src": "14435:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14439:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "14435:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5572, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14434:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14445:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14434:12:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5605, - "nodeType": "IfStatement", - "src": "14430:457:10", - "trueBody": { - "id": 5604, - "nodeType": "Block", - "src": "14448:439:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5575, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5564, - "src": "14467:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5577, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5564, - "src": "14515:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5579, - "indexExpression": { - "argumentTypes": null, - "id": 5578, - "name": "PTXX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4153, - "src": "14519:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14515:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5580, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5564, - "src": "14547:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5582, - "indexExpression": { - "argumentTypes": null, - "id": 5581, - "name": "PTXY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4156, - "src": "14551:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14547:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5583, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5564, - "src": "14579:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5585, - "indexExpression": { - "argumentTypes": null, - "id": 5584, - "name": "PTYX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "14583:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14579:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5586, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5564, - "src": "14611:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5588, - "indexExpression": { - "argumentTypes": null, - "id": 5587, - "name": "PTYY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "14615:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14611:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5589, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5564, - "src": "14643:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5591, - "indexExpression": { - "argumentTypes": null, - "id": 5590, - "name": "PTZX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4165, - "src": "14647:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14643:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5592, - "name": "pt2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5564, - "src": "14675:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5594, - "indexExpression": { - "argumentTypes": null, - "id": 5593, - "name": "PTZY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4168, - "src": "14679:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14675:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5595, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5549, - "src": "14707:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5596, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5551, - "src": "14735:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5597, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5553, - "src": "14763:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5598, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5555, - "src": "14791:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5599, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5557, - "src": "14819:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5600, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5559, - "src": "14847:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5576, - "name": "_ECTwistAddJacobian", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5303, - "src": "14473:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$6_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256) pure returns (uint256[6] memory)" - } - }, - "id": 5601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14473:398:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "src": "14467:404:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6] memory" - } - }, - "id": 5603, - "nodeType": "ExpressionStatement", - "src": "14467:404:10" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 5621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5606, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5549, - "src": "14902:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5607, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5551, - "src": "14909:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5608, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5553, - "src": "14916:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5609, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5555, - "src": "14923:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5610, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5557, - "src": "14930:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5611, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5559, - "src": "14937:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5612, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "14901:42:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5614, - "name": "pt1xx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5549, - "src": "14987:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5615, - "name": "pt1xy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5551, - "src": "15011:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5616, - "name": "pt1yx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5553, - "src": "15035:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5617, - "name": "pt1yy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5555, - "src": "15059:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5618, - "name": "pt1zx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5557, - "src": "15083:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5619, - "name": "pt1zy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5559, - "src": "15107:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5613, - "name": "_ECTwistDoubleJacobian", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5545, - "src": "14946:22:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) pure returns (uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "id": 5620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14946:181:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "src": "14901:226:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5622, - "nodeType": "ExpressionStatement", - "src": "14901:226:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5623, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5547, - "src": "15144:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5624, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5547, - "src": "15148:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5625, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15152:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "15148:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15144:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5628, - "nodeType": "ExpressionStatement", - "src": "15144:9:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5566, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5547, - "src": "14407:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14412:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14407:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5630, - "nodeType": "WhileStatement", - "src": "14400:765:10" - } - ] - }, - "documentation": null, - "id": 5632, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_ECTwistMulJacobian", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5560, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5547, - "name": "d", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5632, - "src": "14182:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14182:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5549, - "name": "pt1xx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5632, - "src": "14202:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5548, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14202:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5551, - "name": "pt1xy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5632, - "src": "14226:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5550, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14226:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5553, - "name": "pt1yx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5632, - "src": "14250:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5552, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14250:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5555, - "name": "pt1yy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5632, - "src": "14274:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5554, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14274:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5557, - "name": "pt1zx", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5632, - "src": "14298:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5556, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14298:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5559, - "name": "pt1zy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5632, - "src": "14322:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5558, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14322:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14171:171:10" - }, - "returnParameters": { - "id": 5565, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5564, - "name": "pt2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5632, - "src": "14366:21:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", - "typeString": "uint256[6]" - }, - "typeName": { - "baseType": { - "id": 5561, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14366:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5563, - "length": { - "argumentTypes": null, - "hexValue": "36", - "id": 5562, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14374:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "nodeType": "ArrayTypeName", - "src": "14366:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", - "typeString": "uint256[6]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14365:23:10" - }, - "scope": 5633, - "src": "14143:1029:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6717, - "src": "251:14924:10" - }, - { - "id": 5634, - "literals": [ - "solidity", - "^", - "0.6", - ".1" - ], - "nodeType": "PragmaDirective", - "src": "16287:23:10" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 6275, - "linearizedBaseContracts": [ - 6275 - ], - "name": "Pairing", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Pairing.G1Point", - "id": 5639, - "members": [ - { - "constant": false, - "id": 5636, - "name": "X", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5639, - "src": "16363:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16363:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5638, - "name": "Y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5639, - "src": "16383:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5637, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16383:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "G1Point", - "nodeType": "StructDefinition", - "scope": 6275, - "src": "16337:63:10", - "visibility": "public" - }, - { - "canonicalName": "Pairing.G2Point", - "id": 5648, - "members": [ - { - "constant": false, - "id": 5643, - "name": "X", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5648, - "src": "16487:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 5640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16487:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5642, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16495:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "16487:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5647, - "name": "Y", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5648, - "src": "16510:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 5644, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16510:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5646, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 5645, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16518:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "16510:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "G2Point", - "nodeType": "StructDefinition", - "scope": 6275, - "src": "16461:69:10", - "visibility": "public" - }, - { - "body": { - "id": 5658, - "nodeType": "Block", - "src": "16628:39:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 5654, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16654:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "argumentTypes": null, - "hexValue": "32", - "id": 5655, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16657:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 5653, - "name": "G1Point", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5639, - "src": "16646:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$5639_storage_ptr_$", - "typeString": "type(struct Pairing.G1Point storage pointer)" - } - }, - "id": 5656, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16646:13:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "functionReturnParameters": 5652, - "id": 5657, - "nodeType": "Return", - "src": "16639:20:10" - } - ] - }, - "documentation": "@return the generator of G1", - "id": 5659, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "P1", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5649, - "nodeType": "ParameterList", - "parameters": [], - "src": "16586:2:10" - }, - "returnParameters": { - "id": 5652, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5651, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5659, - "src": "16612:14:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 5650, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "16612:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16611:16:10" - }, - "scope": 6275, - "src": "16575:92:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5673, - "nodeType": "Block", - "src": "16765:535:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "3131353539373332303332393836333837313037393931303034303231333932323835373833393235383132383631383231313932353330393137343033313531343532333931383035363334", - "id": 5665, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16845:77:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_11559732032986387107991004021392285783925812861821192530917403151452391805634_by_1", - "typeString": "int_const 1155...(69 digits omitted)...5634" - }, - "value": "11559732032986387107991004021392285783925812861821192530917403151452391805634" - }, - { - "argumentTypes": null, - "hexValue": "3130383537303436393939303233303537313335393434353730373632323332383239343831333730373536333539353738353138303836393930353139393933323835363535383532373831", - "id": 5666, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16945:77:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10857046999023057135944570762232829481370756359578518086990519993285655852781_by_1", - "typeString": "int_const 1085...(69 digits omitted)...2781" - }, - "value": "10857046999023057135944570762232829481370756359578518086990519993285655852781" - } - ], - "id": 5667, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16822:219:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "34303832333637383735383633343333363831333332323033343033313435343335353638333136383531333237353933343031323038313035373431303736323134313230303933353331", - "id": 5668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17083:76:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4082367875863433681332203403145435568316851327593401208105741076214120093531_by_1", - "typeString": "int_const 4082...(68 digits omitted)...3531" - }, - "value": "4082367875863433681332203403145435568316851327593401208105741076214120093531" - }, - { - "argumentTypes": null, - "hexValue": "38343935363533393233313233343331343137363034393733323437343839323732343338343138313930353837323633363030313438373730323830363439333036393538313031393330", - "id": 5669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17182:76:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8495653923123431417604973247489272438418190587263600148770280649306958101930_by_1", - "typeString": "int_const 8495...(68 digits omitted)...1930" - }, - "value": "8495653923123431417604973247489272438418190587263600148770280649306958101930" - } - ], - "id": 5670, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17060:217:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - ], - "id": 5664, - "name": "G2Point", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5648, - "src": "16796:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G2Point_$5648_storage_ptr_$", - "typeString": "type(struct Pairing.G2Point storage pointer)" - } - }, - "id": 5671, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16796:496:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "functionReturnParameters": 5663, - "id": 5672, - "nodeType": "Return", - "src": "16776:516:10" - } - ] - }, - "documentation": "@return the generator of G2", - "id": 5674, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "P2", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5660, - "nodeType": "ParameterList", - "parameters": [], - "src": "16723:2:10" - }, - "returnParameters": { - "id": 5663, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5662, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5674, - "src": "16749:14:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 5661, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "16749:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16748:16:10" - }, - "scope": 6275, - "src": "16712:588:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5712, - "nodeType": "Block", - "src": "17461:279:10", - "statements": [ - { - "assignments": [ - 5682 - ], - "declarations": [ - { - "constant": false, - "id": 5682, - "name": "q", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5712, - "src": "17531:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5681, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17531:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5684, - "initialValue": { - "argumentTypes": null, - "hexValue": "3231383838323432383731383339323735323232323436343035373435323537323735303838363936333131313537323937383233363632363839303337383934363435323236323038353833", - "id": 5683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17553:77:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21888242871839275222246405745257275088696311157297823662689037894645226208583_by_1", - "typeString": "int_const 2188...(69 digits omitted)...8583" - }, - "value": "21888242871839275222246405745257275088696311157297823662689037894645226208583" - }, - "nodeType": "VariableDeclarationStatement", - "src": "17531:99:10" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5685, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5676, - "src": "17645:1:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5686, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5636, - "src": "17645:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5687, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17652:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17645:8:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5689, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5676, - "src": "17657:1:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5690, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5638, - "src": "17657:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5691, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17664:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17657:8:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "17645:20:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5699, - "nodeType": "IfStatement", - "src": "17641:46:10", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5695, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17682:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 5696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17685:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5694, - "name": "G1Point", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5639, - "src": "17674:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$5639_storage_ptr_$", - "typeString": "type(struct Pairing.G1Point storage pointer)" - } - }, - "id": 5697, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17674:13:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "functionReturnParameters": 5680, - "id": 5698, - "nodeType": "Return", - "src": "17667:20:10" - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5701, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5676, - "src": "17713:1:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5702, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5636, - "src": "17713:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5703, - "name": "q", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5682, - "src": "17718:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5704, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5676, - "src": "17723:1:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5705, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5638, - "src": "17723:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 5706, - "name": "q", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5682, - "src": "17729:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17723:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5708, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17722:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17718:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5700, - "name": "G1Point", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5639, - "src": "17705:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$5639_storage_ptr_$", - "typeString": "type(struct Pairing.G1Point storage pointer)" - } - }, - "id": 5710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17705:27:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "functionReturnParameters": 5680, - "id": 5711, - "nodeType": "Return", - "src": "17698:34:10" - } - ] - }, - "documentation": "@return the negation of p, i.e. p.addition(p.negate()) should be zero.", - "id": 5713, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "negate", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5677, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5676, - "name": "p", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5713, - "src": "17404:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 5675, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "17404:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17403:18:10" - }, - "returnParameters": { - "id": 5680, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5679, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5713, - "src": "17445:14:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 5678, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "17445:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17444:16:10" - }, - "scope": 6275, - "src": "17388:352:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5765, - "nodeType": "Block", - "src": "17924:467:10", - "statements": [ - { - "assignments": [ - 5727 - ], - "declarations": [ - { - "constant": false, - "id": 5727, - "name": "input", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5765, - "src": "17935:23:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4]" - }, - "typeName": { - "baseType": { - "id": 5725, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17935:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5726, - "length": { - "argumentTypes": null, - "hexValue": "34", - "id": 5724, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17943:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "nodeType": "ArrayTypeName", - "src": "17935:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_storage_ptr", - "typeString": "uint256[4]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5728, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "17935:23:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5729, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5727, - "src": "17969:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4] memory" - } - }, - "id": 5731, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5730, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17975:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "17969:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5732, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5715, - "src": "17980:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5733, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5636, - "src": "17980:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17969:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5735, - "nodeType": "ExpressionStatement", - "src": "17969:15:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5736, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5727, - "src": "17995:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4] memory" - } - }, - "id": 5738, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5737, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18001:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "17995:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5739, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5715, - "src": "18006:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5740, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5638, - "src": "18006:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17995:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5742, - "nodeType": "ExpressionStatement", - "src": "17995:15:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5743, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5727, - "src": "18021:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4] memory" - } - }, - "id": 5745, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18027:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18021:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5746, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "18032:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5747, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5636, - "src": "18032:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18021:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5749, - "nodeType": "ExpressionStatement", - "src": "18021:15:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5750, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5727, - "src": "18047:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4] memory" - } - }, - "id": 5752, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18053:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18047:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5753, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5717, - "src": "18058:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5754, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5638, - "src": "18058:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18047:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5756, - "nodeType": "ExpressionStatement", - "src": "18047:15:10" - }, - { - "assignments": [ - 5758 - ], - "declarations": [ - { - "constant": false, - "id": 5758, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5765, - "src": "18073:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5757, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "18073:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5759, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "18073:12:10" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "18105:252:10", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18120:64:10", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "functionName": { - "name": "gas", - "nodeType": "YulIdentifier", - "src": "18146:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "18146:5:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18153:4:10", - "type": "", - "value": "2000" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "18142:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "18142:16:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18160:1:10", - "type": "", - "value": "6" - }, - { - "name": "input", - "nodeType": "YulIdentifier", - "src": "18163:5:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18170:4:10", - "type": "", - "value": "0xc0" - }, - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "18176:1:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18179:4:10", - "type": "", - "value": "0x60" - } - ], - "functionName": { - "name": "staticcall", - "nodeType": "YulIdentifier", - "src": "18131:10:10" - }, - "nodeType": "YulFunctionCall", - "src": "18131:53:10" - }, - "variableNames": [ - { - "name": "success", - "nodeType": "YulIdentifier", - "src": "18120:7:10" - } - ] - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "18295:51:10", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "invalid", - "nodeType": "YulIdentifier", - "src": "18318:7:10" - }, - "nodeType": "YulFunctionCall", - "src": "18318:9:10" - }, - "nodeType": "YulExpressionStatement", - "src": "18318:9:10" - } - ] - }, - "nodeType": "YulCase", - "src": "18288:58:10", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18293:1:10", - "type": "", - "value": "0" - } - } - ], - "expression": { - "name": "success", - "nodeType": "YulIdentifier", - "src": "18263:7:10" - }, - "nodeType": "YulSwitch", - "src": "18256:90:10" - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 5727, - "isOffset": false, - "isSlot": false, - "src": "18163:5:10", - "valueSize": 1 - }, - { - "declaration": 5720, - "isOffset": false, - "isSlot": false, - "src": "18176:1:10", - "valueSize": 1 - }, - { - "declaration": 5758, - "isOffset": false, - "isSlot": false, - "src": "18120:7:10", - "valueSize": 1 - }, - { - "declaration": 5758, - "isOffset": false, - "isSlot": false, - "src": "18263:7:10", - "valueSize": 1 - } - ], - "id": 5760, - "nodeType": "InlineAssembly", - "src": "18096:261:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5762, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5758, - "src": "18375:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5761, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18367:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18367:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5764, - "nodeType": "ExpressionStatement", - "src": "18367:16:10" - } - ] - }, - "documentation": "@return r the sum of two points of G1", - "id": 5766, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "addition", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5718, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5715, - "name": "p1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "17813:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 5714, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "17813:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5717, - "name": "p2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "17832:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 5716, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "17832:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17812:38:10" - }, - "returnParameters": { - "id": 5721, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5720, - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5766, - "src": "17901:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 5719, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "17901:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17900:18:10" - }, - "scope": 6275, - "src": "17795:596:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5830, - "nodeType": "Block", - "src": "18575:259:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5775, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5773, - "src": "18587:1:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5778, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5643, - "src": "18587:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5779, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18591:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18587:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5780, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5773, - "src": "18595:1:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5781, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5643, - "src": "18595:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5783, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5782, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18599:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18595:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5784, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5773, - "src": "18603:1:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5785, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5647, - "src": "18603:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5787, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5786, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18607:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18603:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5788, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5773, - "src": "18611:1:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5789, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5647, - "src": "18611:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5791, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5790, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18615:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18611:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5792, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "18586:32:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5795, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5768, - "src": "18654:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5796, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5643, - "src": "18654:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5798, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18659:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18654:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5799, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5768, - "src": "18676:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5800, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5643, - "src": "18676:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5802, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18681:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18676:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5803, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5768, - "src": "18698:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5804, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5647, - "src": "18698:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5806, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5805, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18703:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18698:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5807, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5768, - "src": "18720:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5808, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5647, - "src": "18720:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5810, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5809, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18725:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18720:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5811, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5770, - "src": "18742:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5812, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5643, - "src": "18742:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5814, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5813, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18747:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18742:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5815, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5770, - "src": "18764:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5816, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5643, - "src": "18764:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5818, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5817, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18769:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18764:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5819, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5770, - "src": "18786:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5820, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5647, - "src": "18786:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5822, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5821, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18791:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18786:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5823, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5770, - "src": "18808:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5824, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5647, - "src": "18808:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5826, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5825, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18813:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18808:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5793, - "name": "BN256G2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5633, - "src": "18621:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_BN256G2_$5633_$", - "typeString": "type(library BN256G2)" - } - }, - "id": 5794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ECTwistAdd", - "nodeType": "MemberAccess", - "referencedDeclaration": 4339, - "src": "18621:18:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256) view returns (uint256,uint256,uint256,uint256)" - } - }, - "id": 5827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18621:205:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256)" - } - }, - "src": "18586:240:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5829, - "nodeType": "ExpressionStatement", - "src": "18586:240:10" - } - ] - }, - "documentation": "@return r the sum of two points of G2", - "id": 5831, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "addition", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5771, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5768, - "name": "p1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5831, - "src": "18464:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 5767, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "18464:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5770, - "name": "p2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5831, - "src": "18483:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 5769, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "18483:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18463:38:10" - }, - "returnParameters": { - "id": 5774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5773, - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5831, - "src": "18552:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 5772, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "18552:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18551:18:10" - }, - "scope": 6275, - "src": "18446:388:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5875, - "nodeType": "Block", - "src": "19116:436:10", - "statements": [ - { - "assignments": [ - 5845 - ], - "declarations": [ - { - "constant": false, - "id": 5845, - "name": "input", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5875, - "src": "19127:23:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$3_memory_ptr", - "typeString": "uint256[3]" - }, - "typeName": { - "baseType": { - "id": 5843, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19127:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5844, - "length": { - "argumentTypes": null, - "hexValue": "33", - "id": 5842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19135:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "nodeType": "ArrayTypeName", - "src": "19127:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$3_storage_ptr", - "typeString": "uint256[3]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5846, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19127:23:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5847, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5845, - "src": "19161:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$3_memory_ptr", - "typeString": "uint256[3] memory" - } - }, - "id": 5849, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5848, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19167:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "19161:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5850, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5833, - "src": "19172:1:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5851, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5636, - "src": "19172:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19161:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5853, - "nodeType": "ExpressionStatement", - "src": "19161:14:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5854, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5845, - "src": "19186:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$3_memory_ptr", - "typeString": "uint256[3] memory" - } - }, - "id": 5856, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19192:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "19186:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5857, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5833, - "src": "19197:1:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5858, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5638, - "src": "19197:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19186:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5860, - "nodeType": "ExpressionStatement", - "src": "19186:14:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5861, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5845, - "src": "19211:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$3_memory_ptr", - "typeString": "uint256[3] memory" - } - }, - "id": 5863, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5862, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19217:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "19211:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5864, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5835, - "src": "19222:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19211:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5866, - "nodeType": "ExpressionStatement", - "src": "19211:12:10" - }, - { - "assignments": [ - 5868 - ], - "declarations": [ - { - "constant": false, - "id": 5868, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5875, - "src": "19234:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5867, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "19234:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5869, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "19234:12:10" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "19266:252:10", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "19281:64:10", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "functionName": { - "name": "gas", - "nodeType": "YulIdentifier", - "src": "19307:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "19307:5:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19314:4:10", - "type": "", - "value": "2000" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "19303:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "19303:16:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19321:1:10", - "type": "", - "value": "7" - }, - { - "name": "input", - "nodeType": "YulIdentifier", - "src": "19324:5:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19331:4:10", - "type": "", - "value": "0x80" - }, - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "19337:1:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19340:4:10", - "type": "", - "value": "0x60" - } - ], - "functionName": { - "name": "staticcall", - "nodeType": "YulIdentifier", - "src": "19292:10:10" - }, - "nodeType": "YulFunctionCall", - "src": "19292:53:10" - }, - "variableNames": [ - { - "name": "success", - "nodeType": "YulIdentifier", - "src": "19281:7:10" - } - ] - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "19456:51:10", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "invalid", - "nodeType": "YulIdentifier", - "src": "19479:7:10" - }, - "nodeType": "YulFunctionCall", - "src": "19479:9:10" - }, - "nodeType": "YulExpressionStatement", - "src": "19479:9:10" - } - ] - }, - "nodeType": "YulCase", - "src": "19449:58:10", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19454:1:10", - "type": "", - "value": "0" - } - } - ], - "expression": { - "name": "success", - "nodeType": "YulIdentifier", - "src": "19424:7:10" - }, - "nodeType": "YulSwitch", - "src": "19417:90:10" - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 5845, - "isOffset": false, - "isSlot": false, - "src": "19324:5:10", - "valueSize": 1 - }, - { - "declaration": 5838, - "isOffset": false, - "isSlot": false, - "src": "19337:1:10", - "valueSize": 1 - }, - { - "declaration": 5868, - "isOffset": false, - "isSlot": false, - "src": "19281:7:10", - "valueSize": 1 - }, - { - "declaration": 5868, - "isOffset": false, - "isSlot": false, - "src": "19424:7:10", - "valueSize": 1 - } - ], - "id": 5870, - "nodeType": "InlineAssembly", - "src": "19257:261:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5872, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5868, - "src": "19536:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5871, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19528:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19528:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5874, - "nodeType": "ExpressionStatement", - "src": "19528:16:10" - } - ] - }, - "documentation": "@return r the product of a point on G1 and a scalar, i.e.\n p == p.scalar_mul(1) and p.addition(p) == p.scalar_mul(2) for all points p.", - "id": 5876, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "scalar_mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5833, - "name": "p", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5876, - "src": "19014:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 5832, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "19014:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5835, - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5876, - "src": "19032:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19032:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19013:29:10" - }, - "returnParameters": { - "id": 5839, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5838, - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5876, - "src": "19093:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 5837, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "19093:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19092:18:10" - }, - "scope": 6275, - "src": "18994:558:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6036, - "nodeType": "Block", - "src": "19890:1039:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5888, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "19909:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 5889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19909:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5890, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5882, - "src": "19922:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 5891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19922:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19909:22:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5887, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19901:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19901:31:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5894, - "nodeType": "ExpressionStatement", - "src": "19901:31:10" - }, - { - "assignments": [ - 5896 - ], - "declarations": [ - { - "constant": false, - "id": 5896, - "name": "elements", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6036, - "src": "19943:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5895, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19943:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5899, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5897, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "19962:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 5898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19962:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19943:28:10" - }, - { - "assignments": [ - 5901 - ], - "declarations": [ - { - "constant": false, - "id": 5901, - "name": "inputSize", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6036, - "src": "19982:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5900, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19982:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5905, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5902, - "name": "elements", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5896, - "src": "20002:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "36", - "id": 5903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20013:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "src": "20002:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19982:32:10" - }, - { - "assignments": [ - 5910 - ], - "declarations": [ - { - "constant": false, - "id": 5910, - "name": "input", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6036, - "src": "20025:22:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 5908, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20025:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5909, - "length": null, - "nodeType": "ArrayTypeName", - "src": "20025:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5916, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5914, - "name": "inputSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5901, - "src": "20064:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5913, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "20050:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 5911, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20054:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5912, - "length": null, - "nodeType": "ArrayTypeName", - "src": "20054:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 5915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20050:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20025:49:10" - }, - { - "body": { - "id": 6013, - "nodeType": "Block", - "src": "20124:270:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5927, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5910, - "src": "20139:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 5933, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5928, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20145:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "36", - "id": 5929, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20149:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "src": "20145:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5931, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20153:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20145:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "20139:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5934, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "20158:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 5936, - "indexExpression": { - "argumentTypes": null, - "id": 5935, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20161:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20158:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5937, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5636, - "src": "20158:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20139:26:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5939, - "nodeType": "ExpressionStatement", - "src": "20139:26:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5940, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5910, - "src": "20180:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 5946, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5941, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20186:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "36", - "id": 5942, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20190:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "src": "20186:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5944, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20194:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "20186:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "20180:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5947, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "20199:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 5949, - "indexExpression": { - "argumentTypes": null, - "id": 5948, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20202:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20199:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 5950, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5638, - "src": "20199:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20180:26:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5952, - "nodeType": "ExpressionStatement", - "src": "20180:26:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5953, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5910, - "src": "20221:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 5959, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5954, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20227:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "36", - "id": 5955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20231:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "src": "20227:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 5957, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20235:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "20227:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "20221:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5960, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5882, - "src": "20240:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 5962, - "indexExpression": { - "argumentTypes": null, - "id": 5961, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20243:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20240:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5963, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5643, - "src": "20240:7:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5965, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5964, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20248:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20240:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20221:29:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5967, - "nodeType": "ExpressionStatement", - "src": "20221:29:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5968, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5910, - "src": "20265:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 5974, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5969, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20271:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "36", - "id": 5970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20275:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "src": "20271:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5972, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20279:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "20271:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "20265:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5975, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5882, - "src": "20284:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 5977, - "indexExpression": { - "argumentTypes": null, - "id": 5976, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20287:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20284:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5978, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "X", - "nodeType": "MemberAccess", - "referencedDeclaration": 5643, - "src": "20284:7:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5980, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5979, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20292:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20284:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20265:29:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5982, - "nodeType": "ExpressionStatement", - "src": "20265:29:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5983, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5910, - "src": "20309:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 5989, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5984, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20315:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "36", - "id": 5985, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20319:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "src": "20315:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 5987, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20323:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "20315:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "20309:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5990, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5882, - "src": "20328:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 5992, - "indexExpression": { - "argumentTypes": null, - "id": 5991, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20331:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20328:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 5993, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5647, - "src": "20328:7:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 5995, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5994, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20336:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20328:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20309:29:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5997, - "nodeType": "ExpressionStatement", - "src": "20309:29:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5998, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5910, - "src": "20353:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6004, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5999, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20359:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "36", - "id": 6000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20363:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - }, - "src": "20359:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "35", - "id": 6002, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20367:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - }, - "src": "20359:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "20353:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6005, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5882, - "src": "20372:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 6007, - "indexExpression": { - "argumentTypes": null, - "id": 6006, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20375:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20372:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6008, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "Y", - "nodeType": "MemberAccess", - "referencedDeclaration": 5647, - "src": "20372:7:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 6010, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20380:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20372:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20353:29:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6012, - "nodeType": "ExpressionStatement", - "src": "20353:29:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5921, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20105:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 5922, - "name": "elements", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5896, - "src": "20109:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20105:12:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6014, - "initializationExpression": { - "assignments": [ - 5918 - ], - "declarations": [ - { - "constant": false, - "id": 5918, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6014, - "src": "20090:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5917, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20090:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5920, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20102:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "20090:13:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 5925, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "20119:3:10", - "subExpression": { - "argumentTypes": null, - "id": 5924, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5918, - "src": "20119:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5926, - "nodeType": "ExpressionStatement", - "src": "20119:3:10" - }, - "nodeType": "ForStatement", - "src": "20085:309:10" - }, - { - "assignments": [ - 6020 - ], - "declarations": [ - { - "constant": false, - "id": 6020, - "name": "out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6036, - "src": "20404:21:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$1_memory_ptr", - "typeString": "uint256[1]" - }, - "typeName": { - "baseType": { - "id": 6018, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20404:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6019, - "length": { - "argumentTypes": null, - "hexValue": "31", - "id": 6017, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20412:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "ArrayTypeName", - "src": "20404:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$1_storage_ptr", - "typeString": "uint256[1]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6021, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "20404:21:10" - }, - { - "assignments": [ - 6023 - ], - "declarations": [ - { - "constant": false, - "id": 6023, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6036, - "src": "20436:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6022, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "20436:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6024, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "20436:12:10" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "20468:398:10", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "20483:210:10", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "functionName": { - "name": "gas", - "nodeType": "YulIdentifier", - "src": "20527:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "20527:5:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20534:4:10", - "type": "", - "value": "2000" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "20523:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "20523:16:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20558:1:10", - "type": "", - "value": "8" - }, - { - "arguments": [ - { - "name": "input", - "nodeType": "YulIdentifier", - "src": "20582:5:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20589:4:10", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20578:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "20578:16:10" - }, - { - "arguments": [ - { - "name": "inputSize", - "nodeType": "YulIdentifier", - "src": "20617:9:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20628:4:10", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "20613:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "20613:20:10" - }, - { - "name": "out", - "nodeType": "YulIdentifier", - "src": "20652:3:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20674:4:10", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "staticcall", - "nodeType": "YulIdentifier", - "src": "20494:10:10" - }, - "nodeType": "YulFunctionCall", - "src": "20494:199:10" - }, - "variableNames": [ - { - "name": "success", - "nodeType": "YulIdentifier", - "src": "20483:7:10" - } - ] - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "20804:51:10", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "invalid", - "nodeType": "YulIdentifier", - "src": "20827:7:10" - }, - "nodeType": "YulFunctionCall", - "src": "20827:9:10" - }, - "nodeType": "YulExpressionStatement", - "src": "20827:9:10" - } - ] - }, - "nodeType": "YulCase", - "src": "20797:58:10", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20802:1:10", - "type": "", - "value": "0" - } - } - ], - "expression": { - "name": "success", - "nodeType": "YulIdentifier", - "src": "20772:7:10" - }, - "nodeType": "YulSwitch", - "src": "20765:90:10" - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 5910, - "isOffset": false, - "isSlot": false, - "src": "20582:5:10", - "valueSize": 1 - }, - { - "declaration": 5901, - "isOffset": false, - "isSlot": false, - "src": "20617:9:10", - "valueSize": 1 - }, - { - "declaration": 6020, - "isOffset": false, - "isSlot": false, - "src": "20652:3:10", - "valueSize": 1 - }, - { - "declaration": 6023, - "isOffset": false, - "isSlot": false, - "src": "20483:7:10", - "valueSize": 1 - }, - { - "declaration": 6023, - "isOffset": false, - "isSlot": false, - "src": "20772:7:10", - "valueSize": 1 - } - ], - "id": 6025, - "nodeType": "InlineAssembly", - "src": "20459:407:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6027, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6023, - "src": "20884:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6026, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20876:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 6028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20876:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6029, - "nodeType": "ExpressionStatement", - "src": "20876:16:10" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6030, - "name": "out", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6020, - "src": "20910:3:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$1_memory_ptr", - "typeString": "uint256[1] memory" - } - }, - "id": 6032, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6031, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20914:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20910:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20920:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20910:11:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5886, - "id": 6035, - "nodeType": "Return", - "src": "20903:18:10" - } - ] - }, - "documentation": "@return the result of computing the pairing check\n e(p1[0], p2[0]) * .... * e(p1[n], p2[n]) == 1\n For example pairing([P1(), P1().negate()], [P2(), P2()]) should\n return true.", - "id": 6037, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "pairing", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5883, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5879, - "name": "p1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6037, - "src": "19787:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 5877, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "19787:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "id": 5878, - "length": null, - "nodeType": "ArrayTypeName", - "src": "19787:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G1Point[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5882, - "name": "p2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6037, - "src": "19808:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 5880, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "19808:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "id": 5881, - "length": null, - "nodeType": "ArrayTypeName", - "src": "19808:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G2Point[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19786:42:10" - }, - "returnParameters": { - "id": 5886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5885, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6037, - "src": "19879:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5884, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "19879:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19878:6:10" - }, - "scope": 6275, - "src": "19770:1159:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6099, - "nodeType": "Block", - "src": "21170:223:10", - "statements": [ - { - "assignments": [ - 6053 - ], - "declarations": [ - { - "constant": false, - "id": 6053, - "name": "p1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6099, - "src": "21181:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6051, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "21181:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "id": 6052, - "length": null, - "nodeType": "ArrayTypeName", - "src": "21181:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G1Point[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6059, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "32", - "id": 6057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21217:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 6056, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "21203:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_$", - "typeString": "function (uint256) pure returns (struct Pairing.G1Point memory[] memory)" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6054, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "21207:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "id": 6055, - "length": null, - "nodeType": "ArrayTypeName", - "src": "21207:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G1Point[]" - } - } - }, - "id": 6058, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21203:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21181:38:10" - }, - { - "assignments": [ - 6063 - ], - "declarations": [ - { - "constant": false, - "id": 6063, - "name": "p2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6099, - "src": "21230:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6061, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "21230:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "id": 6062, - "length": null, - "nodeType": "ArrayTypeName", - "src": "21230:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G2Point[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6069, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "32", - "id": 6067, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21266:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 6066, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "21252:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_$", - "typeString": "function (uint256) pure returns (struct Pairing.G2Point memory[] memory)" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6064, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "21256:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "id": 6065, - "length": null, - "nodeType": "ArrayTypeName", - "src": "21256:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G2Point[]" - } - } - }, - "id": 6068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21252:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21230:38:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6070, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6053, - "src": "21279:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6072, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21282:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21279:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6073, - "name": "a1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6039, - "src": "21287:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "21279:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6075, - "nodeType": "ExpressionStatement", - "src": "21279:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6076, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6053, - "src": "21300:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6078, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21303:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21300:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6079, - "name": "b1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6043, - "src": "21308:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "21300:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6081, - "nodeType": "ExpressionStatement", - "src": "21300:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6082, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6063, - "src": "21321:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 6084, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6083, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21324:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21321:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6085, - "name": "a2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6041, - "src": "21329:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "21321:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6087, - "nodeType": "ExpressionStatement", - "src": "21321:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6088, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6063, - "src": "21342:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 6090, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6089, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21345:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21342:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6091, - "name": "b2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6045, - "src": "21350:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "21342:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6093, - "nodeType": "ExpressionStatement", - "src": "21342:10:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6095, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6053, - "src": "21378:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - { - "argumentTypes": null, - "id": 6096, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6063, - "src": "21382:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - }, - { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - ], - "id": 6094, - "name": "pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6037, - "src": "21370:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr_$_t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (struct Pairing.G1Point memory[] memory,struct Pairing.G2Point memory[] memory) view returns (bool)" - } - }, - "id": 6097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21370:15:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6049, - "id": 6098, - "nodeType": "Return", - "src": "21363:22:10" - } - ] - }, - "documentation": "Convenience method for a pairing check for two pairs.", - "id": 6100, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "pairingProd2", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6039, - "name": "a1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6100, - "src": "21032:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6038, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "21032:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6041, - "name": "a2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6100, - "src": "21060:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6040, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "21060:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6043, - "name": "b1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6100, - "src": "21088:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6042, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "21088:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6045, - "name": "b2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6100, - "src": "21116:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6044, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "21116:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21021:119:10" - }, - "returnParameters": { - "id": 6049, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6048, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6100, - "src": "21164:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6047, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "21164:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21163:6:10" - }, - "scope": 6275, - "src": "21000:393:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6178, - "nodeType": "Block", - "src": "21692:265:10", - "statements": [ - { - "assignments": [ - 6120 - ], - "declarations": [ - { - "constant": false, - "id": 6120, - "name": "p1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6178, - "src": "21703:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6118, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "21703:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "id": 6119, - "length": null, - "nodeType": "ArrayTypeName", - "src": "21703:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G1Point[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6126, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6124, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21739:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "id": 6123, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "21725:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_$", - "typeString": "function (uint256) pure returns (struct Pairing.G1Point memory[] memory)" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6121, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "21729:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "id": 6122, - "length": null, - "nodeType": "ArrayTypeName", - "src": "21729:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G1Point[]" - } - } - }, - "id": 6125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21725:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21703:38:10" - }, - { - "assignments": [ - 6130 - ], - "declarations": [ - { - "constant": false, - "id": 6130, - "name": "p2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6178, - "src": "21752:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6128, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "21752:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "id": 6129, - "length": null, - "nodeType": "ArrayTypeName", - "src": "21752:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G2Point[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6136, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21788:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "id": 6133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "21774:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_$", - "typeString": "function (uint256) pure returns (struct Pairing.G2Point memory[] memory)" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6131, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "21778:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "id": 6132, - "length": null, - "nodeType": "ArrayTypeName", - "src": "21778:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G2Point[]" - } - } - }, - "id": 6135, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21774:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21752:38:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6137, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6120, - "src": "21801:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6139, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6138, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21804:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21801:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6140, - "name": "a1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6102, - "src": "21809:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "21801:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6142, - "nodeType": "ExpressionStatement", - "src": "21801:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6143, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6120, - "src": "21822:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6145, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21825:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21822:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6146, - "name": "b1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6106, - "src": "21830:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "21822:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6148, - "nodeType": "ExpressionStatement", - "src": "21822:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6149, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6120, - "src": "21843:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6151, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21846:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21843:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6152, - "name": "c1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6110, - "src": "21851:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "21843:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6154, - "nodeType": "ExpressionStatement", - "src": "21843:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6155, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6130, - "src": "21864:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 6157, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21867:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21864:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6158, - "name": "a2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "21872:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "21864:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6160, - "nodeType": "ExpressionStatement", - "src": "21864:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6161, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6130, - "src": "21885:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 6163, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6162, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21888:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21885:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6164, - "name": "b2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6108, - "src": "21893:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "21885:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6166, - "nodeType": "ExpressionStatement", - "src": "21885:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6167, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6130, - "src": "21906:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 6169, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6168, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21909:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21906:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6170, - "name": "c2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6112, - "src": "21914:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "21906:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6172, - "nodeType": "ExpressionStatement", - "src": "21906:10:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6174, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6120, - "src": "21942:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - { - "argumentTypes": null, - "id": 6175, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6130, - "src": "21946:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - }, - { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - ], - "id": 6173, - "name": "pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6037, - "src": "21934:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr_$_t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (struct Pairing.G1Point memory[] memory,struct Pairing.G2Point memory[] memory) view returns (bool)" - } - }, - "id": 6176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21934:15:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6116, - "id": 6177, - "nodeType": "Return", - "src": "21927:22:10" - } - ] - }, - "documentation": "Convenience method for a pairing check for three pairs.", - "id": 6179, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "pairingProd3", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6113, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6102, - "name": "a1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6179, - "src": "21498:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6101, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "21498:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6104, - "name": "a2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6179, - "src": "21526:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6103, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "21526:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6106, - "name": "b1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6179, - "src": "21554:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6105, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "21554:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6108, - "name": "b2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6179, - "src": "21582:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6107, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "21582:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6110, - "name": "c1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6179, - "src": "21610:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6109, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "21610:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6112, - "name": "c2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6179, - "src": "21638:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6111, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "21638:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21487:175:10" - }, - "returnParameters": { - "id": 6116, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6115, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6179, - "src": "21686:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6114, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "21686:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21685:6:10" - }, - "scope": 6275, - "src": "21466:491:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6273, - "nodeType": "Block", - "src": "22311:307:10", - "statements": [ - { - "assignments": [ - 6203 - ], - "declarations": [ - { - "constant": false, - "id": 6203, - "name": "p1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6273, - "src": "22322:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6201, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "22322:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "id": 6202, - "length": null, - "nodeType": "ArrayTypeName", - "src": "22322:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G1Point[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6209, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "34", - "id": 6207, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22358:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - ], - "id": 6206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "22344:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_$", - "typeString": "function (uint256) pure returns (struct Pairing.G1Point memory[] memory)" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6204, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "22348:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "id": 6205, - "length": null, - "nodeType": "ArrayTypeName", - "src": "22348:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G1Point[]" - } - } - }, - "id": 6208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22344:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22322:38:10" - }, - { - "assignments": [ - 6213 - ], - "declarations": [ - { - "constant": false, - "id": 6213, - "name": "p2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6273, - "src": "22371:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6211, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "22371:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "id": 6212, - "length": null, - "nodeType": "ArrayTypeName", - "src": "22371:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G2Point[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6219, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "34", - "id": 6217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22407:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - ], - "id": 6216, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "22393:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_$", - "typeString": "function (uint256) pure returns (struct Pairing.G2Point memory[] memory)" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6214, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "22397:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "id": 6215, - "length": null, - "nodeType": "ArrayTypeName", - "src": "22397:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G2Point[]" - } - } - }, - "id": 6218, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22393:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22371:38:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6220, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "22420:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6222, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22423:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22420:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6223, - "name": "a1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6181, - "src": "22428:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "22420:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6225, - "nodeType": "ExpressionStatement", - "src": "22420:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6226, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "22441:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6228, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22444:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22441:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6229, - "name": "b1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6185, - "src": "22449:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "22441:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6231, - "nodeType": "ExpressionStatement", - "src": "22441:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6232, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "22462:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6234, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22465:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22462:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6235, - "name": "c1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6189, - "src": "22470:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "22462:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6237, - "nodeType": "ExpressionStatement", - "src": "22462:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6238, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "22483:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6240, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 6239, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22486:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22483:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6241, - "name": "d1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6193, - "src": "22491:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "22483:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6243, - "nodeType": "ExpressionStatement", - "src": "22483:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6244, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "22504:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 6246, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22507:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22504:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6247, - "name": "a2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6183, - "src": "22512:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "22504:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6249, - "nodeType": "ExpressionStatement", - "src": "22504:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6250, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "22525:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 6252, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6251, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22528:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22525:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6253, - "name": "b2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "src": "22533:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "22525:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6255, - "nodeType": "ExpressionStatement", - "src": "22525:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6256, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "22546:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 6258, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22549:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22546:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6259, - "name": "c2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6191, - "src": "22554:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "22546:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6261, - "nodeType": "ExpressionStatement", - "src": "22546:10:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6262, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "22567:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - }, - "id": 6264, - "indexExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22570:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22567:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6265, - "name": "d2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6195, - "src": "22575:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "22567:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6267, - "nodeType": "ExpressionStatement", - "src": "22567:10:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6269, - "name": "p1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "22603:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - { - "argumentTypes": null, - "id": 6270, - "name": "p2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "22607:2:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G1Point memory[] memory" - }, - { - "typeIdentifier": "t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr", - "typeString": "struct Pairing.G2Point memory[] memory" - } - ], - "id": 6268, - "name": "pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6037, - "src": "22595:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_ptr_$_t_array$_t_struct$_G2Point_$5648_memory_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (struct Pairing.G1Point memory[] memory,struct Pairing.G2Point memory[] memory) view returns (bool)" - } - }, - "id": 6271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22595:15:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6199, - "id": 6272, - "nodeType": "Return", - "src": "22588:22:10" - } - ] - }, - "documentation": "Convenience method for a pairing check for four pairs.", - "id": 6274, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "pairingProd4", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6196, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6181, - "name": "a1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6274, - "src": "22061:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6180, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "22061:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6183, - "name": "a2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6274, - "src": "22089:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6182, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "22089:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6185, - "name": "b1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6274, - "src": "22117:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6184, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "22117:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6187, - "name": "b2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6274, - "src": "22145:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6186, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "22145:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6189, - "name": "c1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6274, - "src": "22173:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6188, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "22173:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6191, - "name": "c2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6274, - "src": "22201:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6190, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "22201:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6193, - "name": "d1", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6274, - "src": "22229:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6192, - "name": "G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "22229:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6195, - "name": "d2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6274, - "src": "22257:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6194, - "name": "G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "22257:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22050:231:10" - }, - "returnParameters": { - "id": 6199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6198, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6274, - "src": "22305:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6197, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "22305:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22304:6:10" - }, - "scope": 6275, - "src": "22029:589:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6717, - "src": "16314:6307:10" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6716, - "linearizedBaseContracts": [ - 6716 - ], - "name": "SquareVerifier", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 6277, - "libraryName": { - "contractScope": null, - "id": 6276, - "name": "Pairing", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6275, - "src": "22662:7:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pairing_$6275", - "typeString": "library Pairing" - } - }, - "nodeType": "UsingForDirective", - "src": "22656:20:10", - "typeName": null - }, - { - "canonicalName": "SquareVerifier.VerifyingKey", - "id": 6289, - "members": [ - { - "constant": false, - "id": 6279, - "name": "alpha", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6289, - "src": "22713:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6278, - "name": "Pairing.G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "22713:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6281, - "name": "beta", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6289, - "src": "22745:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6280, - "name": "Pairing.G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "22745:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6283, - "name": "gamma", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6289, - "src": "22776:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6282, - "name": "Pairing.G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "22776:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6285, - "name": "delta", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6289, - "src": "22808:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6284, - "name": "Pairing.G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "22808:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6288, - "name": "gamma_abc", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6289, - "src": "22840:27:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G1Point[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6286, - "name": "Pairing.G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "22840:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "id": 6287, - "length": null, - "nodeType": "ArrayTypeName", - "src": "22840:17:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G1Point[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "VerifyingKey", - "nodeType": "StructDefinition", - "scope": 6716, - "src": "22682:193:10", - "visibility": "public" - }, - { - "canonicalName": "SquareVerifier.Proof", - "id": 6296, - "members": [ - { - "constant": false, - "id": 6291, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6296, - "src": "22905:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6290, - "name": "Pairing.G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "22905:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6293, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6296, - "src": "22933:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - }, - "typeName": { - "contractScope": null, - "id": 6292, - "name": "Pairing.G2Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5648, - "src": "22933:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_storage_ptr", - "typeString": "struct Pairing.G2Point" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6295, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6296, - "src": "22961:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6294, - "name": "Pairing.G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "22961:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Proof", - "nodeType": "StructDefinition", - "scope": 6716, - "src": "22881:105:10", - "visibility": "public" - }, - { - "body": { - "id": 6459, - "nodeType": "Block", - "src": "23065:3178:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6301, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6299, - "src": "23076:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6303, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "alpha", - "nodeType": "MemberAccess", - "referencedDeclaration": 6279, - "src": "23076:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307831393336633234303633363339306463383233653361373238653934623230386562353363363735366438316461353765633334323565303564343361633130", - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23143:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_11404571630774432426361478696451104326160645828985583931760367249611771063312_by_1", - "typeString": "int_const 1140...(69 digits omitted)...3312" - }, - "value": "0x1936c240636390dc823e3a728e94b208eb53c6756d81da57ec3425e05d43ac10" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_11404571630774432426361478696451104326160645828985583931760367249611771063312_by_1", - "typeString": "int_const 1140...(69 digits omitted)...3312" - } - ], - "id": 6307, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23117:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23117:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6309, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23117:107:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307832643730666637386538323136626632396435383932336136383664393733383237386238636532666438323265313937633835623039323836643135353636", - "id": 6312, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23265:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20553728262460398718546122925307654056916758466027663757540819413674249770342_by_1", - "typeString": "int_const 2055...(69 digits omitted)...0342" - }, - "value": "0x2d70ff78e8216bf29d58923a686d9738278b8ce2fd822e197c85b09286d15566" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_20553728262460398718546122925307654056916758466027663757540819413674249770342_by_1", - "typeString": "int_const 2055...(69 digits omitted)...0342" - } - ], - "id": 6311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23239:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6310, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23239:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23239:107:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6304, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "23087:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G1Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5639, - "src": "23087:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$5639_storage_ptr_$", - "typeString": "type(struct Pairing.G1Point storage pointer)" - } - }, - "id": 6314, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23087:270:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "23076:281:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6316, - "nodeType": "ExpressionStatement", - "src": "23076:281:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6317, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6299, - "src": "23368:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6319, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beta", - "nodeType": "MemberAccess", - "referencedDeclaration": 6281, - "src": "23368:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307832623464616630343761626532653766306233313131313863316239363362363336393564633064373639636561373838343936303434333464653035356266", - "id": 6324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23457:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_19586707639445201077349322307912135652943077186638600557800879154597443163583_by_1", - "typeString": "int_const 1958...(69 digits omitted)...3583" - }, - "value": "0x2b4daf047abe2e7f0b311118c1b963b63695dc0d769cea78849604434de055bf" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_19586707639445201077349322307912135652943077186638600557800879154597443163583_by_1", - "typeString": "int_const 1958...(69 digits omitted)...3583" - } - ], - "id": 6323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23427:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6322, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23427:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23427:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307832396331336563623666333364626334623362386130326532653235353531316365346332366138613266323939656663633934636166326465346663653030", - "id": 6328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23591:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18886261668269822257916643071234180104569081751552650893053204340855219932672_by_1", - "typeString": "int_const 1888...(69 digits omitted)...2672" - }, - "value": "0x29c13ecb6f33dbc4b3b8a02e2e255511ce4c26a8a2f299efcc94caf2de4fce00" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_18886261668269822257916643071234180104569081751552650893053204340855219932672_by_1", - "typeString": "int_const 1888...(69 digits omitted)...2672" - } - ], - "id": 6327, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23561:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6326, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23561:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6329, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23561:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6330, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23408:283:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307831646139303230303038646637663534393735316638613235316166336232646334613261643365303837306465353461636165646439666331623437653137", - "id": 6333, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23755:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_13415683567289405620191194697785539783673337670298646871108458308628028620311_by_1", - "typeString": "int_const 1341...(69 digits omitted)...0311" - }, - "value": "0x1da9020008df7f549751f8a251af3b2dc4a2ad3e0870de54acaedd9fc1b47e17" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_13415683567289405620191194697785539783673337670298646871108458308628028620311_by_1", - "typeString": "int_const 1341...(69 digits omitted)...0311" - } - ], - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23725:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6331, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23725:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6334, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23725:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307832356561306437653262323964653433316238366139343364623330646266346439386636386466396361386139363238643134643135393165383137643930", - "id": 6337, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23889:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_17149110734940438766192415532159844364369897737664281577035702099208977874320_by_1", - "typeString": "int_const 1714...(69 digits omitted)...4320" - }, - "value": "0x25ea0d7e2b29de431b86a943db30dbf4d98f68df9ca8a9628d14d1591e817d90" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_17149110734940438766192415532159844364369897737664281577035702099208977874320_by_1", - "typeString": "int_const 1714...(69 digits omitted)...4320" - } - ], - "id": 6336, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23859:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6335, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23859:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6338, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23859:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6339, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23706:283:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6320, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "23378:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G2Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5648, - "src": "23378:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G2Point_$5648_storage_ptr_$", - "typeString": "type(struct Pairing.G2Point storage pointer)" - } - }, - "id": 6340, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23378:622:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "23368:632:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6342, - "nodeType": "ExpressionStatement", - "src": "23368:632:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6343, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6299, - "src": "24011:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6345, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "gamma", - "nodeType": "MemberAccess", - "referencedDeclaration": 6283, - "src": "24011:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830313130313665323261653034353434346635306662383066323436656334383663376530326166303931333263643338633466636634383439383365346632", - "id": 6350, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24101:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_480740337502672518896766275936381646414499423445333888255393545520576455922_by_1", - "typeString": "int_const 4807...(67 digits omitted)...5922" - }, - "value": "0x011016e22ae045444f50fb80f246ec486c7e02af09132cd38c4fcf484983e4f2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_480740337502672518896766275936381646414499423445333888255393545520576455922_by_1", - "typeString": "int_const 4807...(67 digits omitted)...5922" - } - ], - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24071:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6348, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24071:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6351, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24071:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830306538336337383863323837386431643565626133656434396230643831653463303438376465646333653464316332626161623538333337383562363266", - "id": 6354, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24235:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_410325873763362685263453102209650051447014690236615374210506008103838135855_by_1", - "typeString": "int_const 4103...(67 digits omitted)...5855" - }, - "value": "0x00e83c788c2878d1d5eba3ed49b0d81e4c0487dedc3e4d1c2baab5833785b62f" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_410325873763362685263453102209650051447014690236615374210506008103838135855_by_1", - "typeString": "int_const 4103...(67 digits omitted)...5855" - } - ], - "id": 6353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24205:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6352, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24205:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24205:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6356, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "24052:283:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830356562383965373431656435623564363131636562663932643165643032636436663333313130383966306434303064663764396365643561343866643431", - "id": 6359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24399:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2677725077079384599346557630428253762129541660286518807422982489542949928257_by_1", - "typeString": "int_const 2677...(68 digits omitted)...8257" - }, - "value": "0x05eb89e741ed5b5d611cebf92d1ed02cd6f3311089f0d400df7d9ced5a48fd41" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2677725077079384599346557630428253762129541660286518807422982489542949928257_by_1", - "typeString": "int_const 2677...(68 digits omitted)...8257" - } - ], - "id": 6358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24369:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6357, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24369:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6360, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24369:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307831333261393061336230643336396363643636653261356261303461393335653434643861643564636139336137366262613539326135373831333061393131", - "id": 6363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24533:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8669149964369931821021310851377052171702351789084710110193162507589879114001_by_1", - "typeString": "int_const 8669...(68 digits omitted)...4001" - }, - "value": "0x132a90a3b0d369ccd66e2a5ba04a935e44d8ad5dca93a76bba592a578130a911" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_8669149964369931821021310851377052171702351789084710110193162507589879114001_by_1", - "typeString": "int_const 8669...(68 digits omitted)...4001" - } - ], - "id": 6362, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24503:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6361, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24503:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6364, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24503:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6365, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "24350:283:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6346, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "24022:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G2Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5648, - "src": "24022:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G2Point_$5648_storage_ptr_$", - "typeString": "type(struct Pairing.G2Point storage pointer)" - } - }, - "id": 6366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24022:622:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "24011:633:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6368, - "nodeType": "ExpressionStatement", - "src": "24011:633:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6369, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6299, - "src": "24655:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6371, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "delta", - "nodeType": "MemberAccess", - "referencedDeclaration": 6285, - "src": "24655:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830363566366133333233613261626666643632316663323633663334386562393134393034623638643538393737323961653334613662396433336630383532", - "id": 6376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24745:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2882460526476434201282496870195358123288995304693305152725586922527008950354_by_1", - "typeString": "int_const 2882...(68 digits omitted)...0354" - }, - "value": "0x065f6a3323a2abffd621fc263f348eb914904b68d5897729ae34a6b9d33f0852" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2882460526476434201282496870195358123288995304693305152725586922527008950354_by_1", - "typeString": "int_const 2882...(68 digits omitted)...0354" - } - ], - "id": 6375, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24715:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6374, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24715:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24715:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830633362363066353964336264353033323861303463306666366439373931393936383564303532366638396636616332396436313734636532343730376132", - "id": 6380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24879:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5532667349215989963770496936461671427088945655865436930388634752918468626338_by_1", - "typeString": "int_const 5532...(68 digits omitted)...6338" - }, - "value": "0x0c3b60f59d3bd50328a04c0ff6d979199685d0526f89f6ac29d6174ce24707a2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5532667349215989963770496936461671427088945655865436930388634752918468626338_by_1", - "typeString": "int_const 5532...(68 digits omitted)...6338" - } - ], - "id": 6379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24849:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6378, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24849:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24849:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6382, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "24696:283:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307832366537656263653262343465666566366236333135393338653333663061386563633832646261643633356339656661363831656438356262623539393832", - "id": 6385, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25043:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_17597657386825226434117339620558022661636510496585419233667372138731186526594_by_1", - "typeString": "int_const 1759...(69 digits omitted)...6594" - }, - "value": "0x26e7ebce2b44efef6b6315938e33f0a8ecc82dbad635c9efa681ed85bbb59982" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_17597657386825226434117339620558022661636510496585419233667372138731186526594_by_1", - "typeString": "int_const 1759...(69 digits omitted)...6594" - } - ], - "id": 6384, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "25013:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6383, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25013:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25013:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307831326530663337323132333061306633386636633939313330343864353233306664323631356566336666376636656534623230646665306264656131613836", - "id": 6389, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25177:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8539085216720969186381215146072580032273858133052949508714688213593304472198_by_1", - "typeString": "int_const 8539...(68 digits omitted)...2198" - }, - "value": "0x12e0f3721230a0f38f6c9913048d5230fd2615ef3ff7f6ee4b20dfe0bdea1a86" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_8539085216720969186381215146072580032273858133052949508714688213593304472198_by_1", - "typeString": "int_const 8539...(68 digits omitted)...2198" - } - ], - "id": 6388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "25147:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6387, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25147:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6390, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25147:115:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6391, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "24994:283:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6372, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "24666:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G2Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5648, - "src": "24666:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G2Point_$5648_storage_ptr_$", - "typeString": "type(struct Pairing.G2Point storage pointer)" - } - }, - "id": 6392, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24666:622:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "24655:633:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6394, - "nodeType": "ExpressionStatement", - "src": "24655:633:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6395, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6299, - "src": "25299:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6397, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "gamma_abc", - "nodeType": "MemberAccess", - "referencedDeclaration": 6288, - "src": "25299:12:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "33", - "id": 6401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25336:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "id": 6400, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "25314:21:10", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory_$", - "typeString": "function (uint256) pure returns (struct Pairing.G1Point memory[] memory)" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 6398, - "name": "Pairing.G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "25318:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "id": 6399, - "length": null, - "nodeType": "ArrayTypeName", - "src": "25318:17:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_storage_$dyn_storage_ptr", - "typeString": "struct Pairing.G1Point[]" - } - } - }, - "id": 6402, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25314:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "src": "25299:39:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6404, - "nodeType": "ExpressionStatement", - "src": "25299:39:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6405, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6299, - "src": "25349:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6408, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "gamma_abc", - "nodeType": "MemberAccess", - "referencedDeclaration": 6288, - "src": "25349:12:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6409, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25362:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "25349:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307831656638643564373032333461613365336438666334653366316361303163373033313832353830623538313130363739386630356233356664353038326330", - "id": 6414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25423:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_14009039398155720505150269708790661333297837075728094920382828224942856766144_by_1", - "typeString": "int_const 1400...(69 digits omitted)...6144" - }, - "value": "0x1ef8d5d70234aa3e3d8fc4e3f1ca01c703182580b581106798f05b35fd5082c0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_14009039398155720505150269708790661333297837075728094920382828224942856766144_by_1", - "typeString": "int_const 1400...(69 digits omitted)...6144" - } - ], - "id": 6413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "25397:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6412, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25397:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6415, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25397:107:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307832653436383034366434616533353133386532303332323234393235643533383937313265356361356536386634643963316531383538653764363536303264", - "id": 6418, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25545:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20930955662491267233397107828124586351105651506146609020125271365893061173293_by_1", - "typeString": "int_const 2093...(69 digits omitted)...3293" - }, - "value": "0x2e468046d4ae35138e2032224925d5389712e5ca5e68f4d9c1e1858e7d65602d" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_20930955662491267233397107828124586351105651506146609020125271365893061173293_by_1", - "typeString": "int_const 2093...(69 digits omitted)...3293" - } - ], - "id": 6417, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "25519:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25519:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6419, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25519:107:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6410, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "25367:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G1Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5639, - "src": "25367:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$5639_storage_ptr_$", - "typeString": "type(struct Pairing.G1Point storage pointer)" - } - }, - "id": 6420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25367:270:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "25349:288:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6422, - "nodeType": "ExpressionStatement", - "src": "25349:288:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6423, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6299, - "src": "25648:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6426, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "gamma_abc", - "nodeType": "MemberAccess", - "referencedDeclaration": 6288, - "src": "25648:12:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6427, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6425, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25661:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "25648:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830636566616530653366613661613235613434383561623762323164333237393464333433316134653461356361383265613432376238333135333463326339", - "id": 6432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25722:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5851231919488061643454688318825712062697499020691897643701372875390621893321_by_1", - "typeString": "int_const 5851...(68 digits omitted)...3321" - }, - "value": "0x0cefae0e3fa6aa25a4485ab7b21d32794d3431a4e4a5ca82ea427b831534c2c9" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5851231919488061643454688318825712062697499020691897643701372875390621893321_by_1", - "typeString": "int_const 5851...(68 digits omitted)...3321" - } - ], - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "25696:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6430, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25696:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25696:107:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307832336533643230333562373038383465353437363338623131313837306635393537663538616438303638663761323134373031363461643336316531653838", - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25844:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_16233473441361394560431684535997736703822957284610781662173469397325430267528_by_1", - "typeString": "int_const 1623...(69 digits omitted)...7528" - }, - "value": "0x23e3d2035b70884e547638b111870f5957f58ad8068f7a21470164ad361e1e88" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_16233473441361394560431684535997736703822957284610781662173469397325430267528_by_1", - "typeString": "int_const 1623...(69 digits omitted)...7528" - } - ], - "id": 6435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "25818:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6434, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25818:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6437, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25818:107:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6428, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "25666:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G1Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5639, - "src": "25666:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$5639_storage_ptr_$", - "typeString": "type(struct Pairing.G1Point storage pointer)" - } - }, - "id": 6438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25666:270:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "25648:288:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6440, - "nodeType": "ExpressionStatement", - "src": "25648:288:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6441, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6299, - "src": "25947:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6444, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "gamma_abc", - "nodeType": "MemberAccess", - "referencedDeclaration": 6288, - "src": "25947:12:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6445, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 6443, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25960:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "25947:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830333066666537386563336465313530653836383864623631396264653738653231653839343735346536626535656438333734323637373632386232346263", - "id": 6450, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26021:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1385197555366316638547884976923676458145592326878252587889427394007889814716_by_1", - "typeString": "int_const 1385...(68 digits omitted)...4716" - }, - "value": "0x030ffe78ec3de150e8688db619bde78e21e894754e6be5ed83742677628b24bc" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1385197555366316638547884976923676458145592326878252587889427394007889814716_by_1", - "typeString": "int_const 1385...(68 digits omitted)...4716" - } - ], - "id": 6449, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "25995:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6448, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25995:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25995:107:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830353333393266383863666139303932646662633062643139396438313539653536323037373739343733633234666336303165666639316263643334356361", - "id": 6454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26143:66:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2352687799100231607798767035998150582166744960824007121429034459320835851722_by_1", - "typeString": "int_const 2352...(68 digits omitted)...1722" - }, - "value": "0x053392f88cfa9092dfbc0bd199d8159e56207779473c24fc601eff91bcd345ca" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2352687799100231607798767035998150582166744960824007121429034459320835851722_by_1", - "typeString": "int_const 2352...(68 digits omitted)...1722" - } - ], - "id": 6453, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "26117:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6452, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26117:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26117:107:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6446, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "25965:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G1Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5639, - "src": "25965:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$5639_storage_ptr_$", - "typeString": "type(struct Pairing.G1Point storage pointer)" - } - }, - "id": 6456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25965:270:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "25947:288:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6458, - "nodeType": "ExpressionStatement", - "src": "25947:288:10" - } - ] - }, - "documentation": null, - "id": 6460, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "verifyingKey", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6297, - "nodeType": "ParameterList", - "parameters": [], - "src": "23015:2:10" - }, - "returnParameters": { - "id": 6300, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6299, - "name": "vk", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6460, - "src": "23041:22:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey" - }, - "typeName": { - "contractScope": null, - "id": 6298, - "name": "VerifyingKey", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6289, - "src": "23041:12:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_storage_ptr", - "typeString": "struct SquareVerifier.VerifyingKey" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23040:24:10" - }, - "scope": 6716, - "src": "22994:3249:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6584, - "nodeType": "Block", - "src": "26375:1039:10", - "statements": [ - { - "assignments": [ - 6471 - ], - "declarations": [ - { - "constant": false, - "id": 6471, - "name": "snark_scalar_field", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6584, - "src": "26392:26:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6470, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26392:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6473, - "initialValue": { - "argumentTypes": null, - "hexValue": "3231383838323432383731383339323735323232323436343035373435323537323735303838353438333634343030343136303334333433363938323034313836353735383038343935363137", - "id": 6472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26431:77:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_21888242871839275222246405745257275088548364400416034343698204186575808495617_by_1", - "typeString": "int_const 2188...(69 digits omitted)...5617" - }, - "value": "21888242871839275222246405745257275088548364400416034343698204186575808495617" - }, - "nodeType": "VariableDeclarationStatement", - "src": "26392:116:10" - }, - { - "assignments": [ - 6475 - ], - "declarations": [ - { - "constant": false, - "id": 6475, - "name": "vk", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6584, - "src": "26519:22:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey" - }, - "typeName": { - "contractScope": null, - "id": 6474, - "name": "VerifyingKey", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6289, - "src": "26519:12:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_storage_ptr", - "typeString": "struct SquareVerifier.VerifyingKey" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6478, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6476, - "name": "verifyingKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6460, - "src": "26544:12:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_VerifyingKey_$6289_memory_ptr_$", - "typeString": "function () pure returns (struct SquareVerifier.VerifyingKey memory)" - } - }, - "id": 6477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26544:14:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "26519:39:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6480, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6463, - "src": "26577:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "26577:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6482, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26592:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "26577:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6484, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6475, - "src": "26597:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6485, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "gamma_abc", - "nodeType": "MemberAccess", - "referencedDeclaration": 6288, - "src": "26597:12:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "26597:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26577:39:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6479, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "26569:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 6488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26569:48:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6489, - "nodeType": "ExpressionStatement", - "src": "26569:48:10" - }, - { - "assignments": [ - 6493 - ], - "declarations": [ - { - "constant": false, - "id": 6493, - "name": "vk_x", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6584, - "src": "26676:27:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point" - }, - "typeName": { - "contractScope": null, - "id": 6492, - "name": "Pairing.G1Point", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5639, - "src": "26676:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_storage_ptr", - "typeString": "struct Pairing.G1Point" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6499, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26722:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 6497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26725:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "argumentTypes": null, - "id": 6494, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "26706:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G1Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5639, - "src": "26706:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$5639_storage_ptr_$", - "typeString": "type(struct Pairing.G1Point storage pointer)" - } - }, - "id": 6498, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26706:21:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "26676:51:10" - }, - { - "body": { - "id": 6538, - "nodeType": "Block", - "src": "26781:209:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6512, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6463, - "src": "26804:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6514, - "indexExpression": { - "argumentTypes": null, - "id": 6513, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6501, - "src": "26810:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26804:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6515, - "name": "snark_scalar_field", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6471, - "src": "26815:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26804:29:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6511, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "26796:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 6517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26796:38:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6518, - "nodeType": "ExpressionStatement", - "src": "26796:38:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6519, - "name": "vk_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6493, - "src": "26849:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6522, - "name": "vk_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6493, - "src": "26891:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6525, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6475, - "src": "26933:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6526, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "gamma_abc", - "nodeType": "MemberAccess", - "referencedDeclaration": 6288, - "src": "26933:12:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6530, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6527, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6501, - "src": "26946:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26950:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "26946:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26933:19:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6531, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6463, - "src": "26954:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6533, - "indexExpression": { - "argumentTypes": null, - "id": 6532, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6501, - "src": "26960:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26954:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6523, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "26914:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "scalar_mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 5876, - "src": "26914:18:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$5639_memory_ptr_$_t_uint256_$returns$_t_struct$_G1Point_$5639_memory_ptr_$", - "typeString": "function (struct Pairing.G1Point memory,uint256) view returns (struct Pairing.G1Point memory)" - } - }, - "id": 6534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26914:49:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - }, - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6520, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "26856:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addition", - "nodeType": "MemberAccess", - "referencedDeclaration": 5766, - "src": "26856:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$5639_memory_ptr_$_t_struct$_G1Point_$5639_memory_ptr_$returns$_t_struct$_G1Point_$5639_memory_ptr_$", - "typeString": "function (struct Pairing.G1Point memory,struct Pairing.G1Point memory) view returns (struct Pairing.G1Point memory)" - } - }, - "id": 6535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "26856:122:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "26849:129:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6537, - "nodeType": "ExpressionStatement", - "src": "26849:129:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6504, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6501, - "src": "26758:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6505, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6463, - "src": "26762:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "26762:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26758:16:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6539, - "initializationExpression": { - "assignments": [ - 6501 - ], - "declarations": [ - { - "constant": false, - "id": 6501, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6539, - "src": "26743:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6500, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26743:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6503, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6502, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26755:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "26743:13:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "26776:3:10", - "subExpression": { - "argumentTypes": null, - "id": 6508, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6501, - "src": "26776:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6510, - "nodeType": "ExpressionStatement", - "src": "26776:3:10" - }, - "nodeType": "ForStatement", - "src": "26738:252:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6540, - "name": "vk_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6493, - "src": "27000:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6543, - "name": "vk_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6493, - "src": "27024:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6544, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6475, - "src": "27030:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6545, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "gamma_abc", - "nodeType": "MemberAccess", - "referencedDeclaration": 6288, - "src": "27030:12:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$5639_memory_$dyn_memory", - "typeString": "struct Pairing.G1Point memory[] memory" - } - }, - "id": 6547, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6546, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27043:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27030:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - }, - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6541, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "27007:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addition", - "nodeType": "MemberAccess", - "referencedDeclaration": 5766, - "src": "27007:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$5639_memory_ptr_$_t_struct$_G1Point_$5639_memory_ptr_$returns$_t_struct$_G1Point_$5639_memory_ptr_$", - "typeString": "function (struct Pairing.G1Point memory,struct Pairing.G1Point memory) view returns (struct Pairing.G1Point memory)" - } - }, - "id": 6548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27007:39:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "27000:46:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6550, - "nodeType": "ExpressionStatement", - "src": "27000:46:10" - }, - { - "condition": { - "argumentTypes": null, - "id": 6578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "27075:292:10", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6553, - "name": "proof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6465, - "src": "27115:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_memory_ptr", - "typeString": "struct SquareVerifier.Proof memory" - } - }, - "id": 6554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "a", - "nodeType": "MemberAccess", - "referencedDeclaration": 6291, - "src": "27115:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6555, - "name": "proof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6465, - "src": "27141:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_memory_ptr", - "typeString": "struct SquareVerifier.Proof memory" - } - }, - "id": 6556, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "b", - "nodeType": "MemberAccess", - "referencedDeclaration": 6293, - "src": "27141:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6559, - "name": "vk_x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6493, - "src": "27182:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6557, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "27167:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "negate", - "nodeType": "MemberAccess", - "referencedDeclaration": 5713, - "src": "27167:14:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_G1Point_$5639_memory_ptr_$returns$_t_struct$_G1Point_$5639_memory_ptr_$", - "typeString": "function (struct Pairing.G1Point memory) pure returns (struct Pairing.G1Point memory)" - } - }, - "id": 6560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27167:20:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6561, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6475, - "src": "27206:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6562, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "gamma", - "nodeType": "MemberAccess", - "referencedDeclaration": 6283, - "src": "27206:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6565, - "name": "proof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6465, - "src": "27248:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_memory_ptr", - "typeString": "struct SquareVerifier.Proof memory" - } - }, - "id": 6566, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "c", - "nodeType": "MemberAccess", - "referencedDeclaration": 6295, - "src": "27248:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6563, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "27233:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "negate", - "nodeType": "MemberAccess", - "referencedDeclaration": 5713, - "src": "27233:14:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_G1Point_$5639_memory_ptr_$returns$_t_struct$_G1Point_$5639_memory_ptr_$", - "typeString": "function (struct Pairing.G1Point memory) pure returns (struct Pairing.G1Point memory)" - } - }, - "id": 6567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27233:23:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6568, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6475, - "src": "27275:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6569, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "delta", - "nodeType": "MemberAccess", - "referencedDeclaration": 6285, - "src": "27275:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6572, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6475, - "src": "27317:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6573, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "alpha", - "nodeType": "MemberAccess", - "referencedDeclaration": 6279, - "src": "27317:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6570, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "27302:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "negate", - "nodeType": "MemberAccess", - "referencedDeclaration": 5713, - "src": "27302:14:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_G1Point_$5639_memory_ptr_$returns$_t_struct$_G1Point_$5639_memory_ptr_$", - "typeString": "function (struct Pairing.G1Point memory) pure returns (struct Pairing.G1Point memory)" - } - }, - "id": 6574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27302:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6575, - "name": "vk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6475, - "src": "27345:2:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$6289_memory_ptr", - "typeString": "struct SquareVerifier.VerifyingKey memory" - } - }, - "id": 6576, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beta", - "nodeType": "MemberAccess", - "referencedDeclaration": 6281, - "src": "27345:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - }, - { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - }, - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - }, - { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - }, - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - }, - { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - }, - { - "typeIdentifier": "t_struct$_G1Point_$5639_memory_ptr", - "typeString": "struct Pairing.G1Point memory" - }, - { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6551, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "27076:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pairingProd4", - "nodeType": "MemberAccess", - "referencedDeclaration": 6274, - "src": "27076:20:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$5639_memory_ptr_$_t_struct$_G2Point_$5648_memory_ptr_$_t_struct$_G1Point_$5639_memory_ptr_$_t_struct$_G2Point_$5648_memory_ptr_$_t_struct$_G1Point_$5639_memory_ptr_$_t_struct$_G2Point_$5648_memory_ptr_$_t_struct$_G1Point_$5639_memory_ptr_$_t_struct$_G2Point_$5648_memory_ptr_$returns$_t_bool_$", - "typeString": "function (struct Pairing.G1Point memory,struct Pairing.G2Point memory,struct Pairing.G1Point memory,struct Pairing.G2Point memory,struct Pairing.G1Point memory,struct Pairing.G2Point memory,struct Pairing.G1Point memory,struct Pairing.G2Point memory) view returns (bool)" - } - }, - "id": 6577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27076:291:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6581, - "nodeType": "IfStatement", - "src": "27057:330:10", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27386:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "functionReturnParameters": 6469, - "id": 6580, - "nodeType": "Return", - "src": "27379:8:10" - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6582, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27405:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 6469, - "id": 6583, - "nodeType": "Return", - "src": "27398:8:10" - } - ] - }, - "documentation": null, - "id": 6585, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "verify", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6466, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6463, - "name": "input", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6585, - "src": "26267:22:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6461, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26267:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6462, - "length": null, - "nodeType": "ArrayTypeName", - "src": "26267:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6465, - "name": "proof", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6585, - "src": "26291:18:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_memory_ptr", - "typeString": "struct SquareVerifier.Proof" - }, - "typeName": { - "contractScope": null, - "id": 6464, - "name": "Proof", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6296, - "src": "26291:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_storage_ptr", - "typeString": "struct SquareVerifier.Proof" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "26266:44:10" - }, - "returnParameters": { - "id": 6469, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6468, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6585, - "src": "26361:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6467, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26361:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "26360:9:10" - }, - "scope": 6716, - "src": "26251:1163:10", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6714, - "nodeType": "Block", - "src": "27603:504:10", - "statements": [ - { - "assignments": [ - 6609 - ], - "declarations": [ - { - "constant": false, - "id": 6609, - "name": "proof", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6714, - "src": "27614:18:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_memory_ptr", - "typeString": "struct SquareVerifier.Proof" - }, - "typeName": { - "contractScope": null, - "id": 6608, - "name": "Proof", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6296, - "src": "27614:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_storage_ptr", - "typeString": "struct SquareVerifier.Proof" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6610, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "27614:18:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6611, - "name": "proof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6609, - "src": "27643:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_memory_ptr", - "typeString": "struct SquareVerifier.Proof memory" - } - }, - "id": 6613, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "a", - "nodeType": "MemberAccess", - "referencedDeclaration": 6291, - "src": "27643:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6616, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "27669:1:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 6618, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27671:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27669:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6619, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "27675:1:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 6621, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27677:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27675:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6614, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "27653:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G1Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5639, - "src": "27653:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$5639_storage_ptr_$", - "typeString": "type(struct Pairing.G1Point storage pointer)" - } - }, - "id": 6622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27653:27:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "27643:37:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6624, - "nodeType": "ExpressionStatement", - "src": "27643:37:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6625, - "name": "proof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6609, - "src": "27691:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_memory_ptr", - "typeString": "struct SquareVerifier.Proof memory" - } - }, - "id": 6627, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "b", - "nodeType": "MemberAccess", - "referencedDeclaration": 6293, - "src": "27691:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6630, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6595, - "src": "27718:1:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", - "typeString": "uint256[2] memory[2] memory" - } - }, - "id": 6632, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27720:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27718:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 6634, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27723:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27718:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6635, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6595, - "src": "27727:1:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", - "typeString": "uint256[2] memory[2] memory" - } - }, - "id": 6637, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27729:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27727:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 6639, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27732:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27727:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6640, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "27717:18:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6641, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6595, - "src": "27738:1:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", - "typeString": "uint256[2] memory[2] memory" - } - }, - "id": 6643, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27740:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27738:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 6645, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6644, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27743:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27738:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6646, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6595, - "src": "27747:1:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", - "typeString": "uint256[2] memory[2] memory" - } - }, - "id": 6648, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6647, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27749:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27747:4:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory", - "typeString": "uint256[2] memory" - } - }, - "id": 6650, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6649, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27752:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27747:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6651, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "27737:18:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6628, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "27701:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G2Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5648, - "src": "27701:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G2Point_$5648_storage_ptr_$", - "typeString": "type(struct Pairing.G2Point storage pointer)" - } - }, - "id": 6652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27701:55:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "src": "27691:65:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$5648_memory", - "typeString": "struct Pairing.G2Point memory" - } - }, - "id": 6654, - "nodeType": "ExpressionStatement", - "src": "27691:65:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6655, - "name": "proof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6609, - "src": "27767:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_memory_ptr", - "typeString": "struct SquareVerifier.Proof memory" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "c", - "nodeType": "MemberAccess", - "referencedDeclaration": 6295, - "src": "27767:7:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6660, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6599, - "src": "27793:1:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 6662, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6661, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27795:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27793:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6663, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6599, - "src": "27799:1:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 6665, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6664, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27801:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27799:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6658, - "name": "Pairing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "27777:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$6275_$", - "typeString": "type(library Pairing)" - } - }, - "id": 6659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "G1Point", - "nodeType": "MemberAccess", - "referencedDeclaration": 5639, - "src": "27777:15:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$5639_storage_ptr_$", - "typeString": "type(struct Pairing.G1Point storage pointer)" - } - }, - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27777:27:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "src": "27767:37:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$5639_memory", - "typeString": "struct Pairing.G1Point memory" - } - }, - "id": 6668, - "nodeType": "ExpressionStatement", - "src": "27767:37:10" - }, - { - "assignments": [ - 6673 - ], - "declarations": [ - { - "constant": false, - "id": 6673, - "name": "inputValues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6714, - "src": "27815:28:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6671, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27815:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6672, - "length": null, - "nodeType": "ArrayTypeName", - "src": "27815:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6679, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "32", - "id": 6677, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27860:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 6676, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "27846:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 6674, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27850:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6675, - "length": null, - "nodeType": "ArrayTypeName", - "src": "27850:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 6678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27846:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "27815:47:10" - }, - { - "body": { - "id": 6699, - "nodeType": "Block", - "src": "27918:52:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6691, - "name": "inputValues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6673, - "src": "27933:11:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6693, - "indexExpression": { - "argumentTypes": null, - "id": 6692, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6681, - "src": "27945:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "27933:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6694, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6603, - "src": "27950:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 6696, - "indexExpression": { - "argumentTypes": null, - "id": 6695, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6681, - "src": "27956:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27950:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27933:25:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6698, - "nodeType": "ExpressionStatement", - "src": "27933:25:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6684, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6681, - "src": "27895:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6685, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6603, - "src": "27899:5:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - "id": 6686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "27899:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27895:16:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6700, - "initializationExpression": { - "assignments": [ - 6681 - ], - "declarations": [ - { - "constant": false, - "id": 6681, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6700, - "src": "27880:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27880:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6683, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6682, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27892:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "27880:13:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "27913:3:10", - "subExpression": { - "argumentTypes": null, - "id": 6688, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6681, - "src": "27913:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6690, - "nodeType": "ExpressionStatement", - "src": "27913:3:10" - }, - "nodeType": "ForStatement", - "src": "27875:95:10" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6702, - "name": "inputValues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6673, - "src": "27991:11:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 6703, - "name": "proof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6609, - "src": "28004:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$6296_memory_ptr", - "typeString": "struct SquareVerifier.Proof memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_struct$_Proof_$6296_memory_ptr", - "typeString": "struct SquareVerifier.Proof memory" - } - ], - "id": 6701, - "name": "verify", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6585, - "src": "27984:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_uint256_$dyn_memory_ptr_$_t_struct$_Proof_$6296_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256[] memory,struct SquareVerifier.Proof memory) view returns (uint256)" - } - }, - "id": 6704, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "27984:26:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28014:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "27984:31:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6712, - "nodeType": "Block", - "src": "28061:39:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28083:5:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 6607, - "id": 6711, - "nodeType": "Return", - "src": "28076:12:10" - } - ] - }, - "id": 6713, - "nodeType": "IfStatement", - "src": "27980:120:10", - "trueBody": { - "id": 6709, - "nodeType": "Block", - "src": "28017:38:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6707, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28039:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 6607, - "id": 6708, - "nodeType": "Return", - "src": "28032:11:10" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "621e9ec0", - "id": 6715, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "verifyTx", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6604, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6589, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6715, - "src": "27450:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 6586, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27450:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6588, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 6587, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27458:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "27450:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6595, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6715, - "src": "27480:22:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", - "typeString": "uint256[2][2]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 6590, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27480:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6592, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 6591, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27488:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "27480:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "id": 6594, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 6593, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27491:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "27480:13:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_storage_$2_storage_ptr", - "typeString": "uint256[2][2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6599, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6715, - "src": "27513:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 6596, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27513:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6598, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 6597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27521:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "27513:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6603, - "name": "input", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6715, - "src": "27543:23:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 6600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27543:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6602, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 6601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27551:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "27543:10:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27439:134:10" - }, - "returnParameters": { - "id": 6607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6606, - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6715, - "src": "27595:6:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6605, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "27595:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "27594:8:10" - }, - "scope": 6716, - "src": "27422:685:10", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 6717, - "src": "22625:5485:10" - } - ], - "src": "32:28080:10" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.0", - "updatedAt": "2020-08-31T20:17:13.130Z", - "devdoc": { - "author": "Mustafa Al-Bassam (mus@musalbas.com)", - "details": "Homepage: https://github.com/musalbas/solidity-BN256G2", - "methods": { - "ECTwistAdd(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)": { - "params": { - "pt1xx": "Coefficient 1 of x on point 1", - "pt1xy": "Coefficient 2 of x on point 1", - "pt1yx": "Coefficient 1 of y on point 1", - "pt1yy": "Coefficient 2 of y on point 1", - "pt2xx": "Coefficient 1 of x on point 2", - "pt2xy": "Coefficient 2 of x on point 2", - "pt2yx": "Coefficient 1 of y on point 2", - "pt2yy": "Coefficient 2 of y on point 2" - }, - "returns": { - "_0": "(pt3xx, pt3xy, pt3yx, pt3yy)" - } - }, - "ECTwistMul(uint256,uint256,uint256,uint256,uint256)": { - "params": { - "pt1xx": "Coefficient 1 of x", - "pt1xy": "Coefficient 2 of x", - "pt1yx": "Coefficient 1 of y", - "pt1yy": "Coefficient 2 of y", - "s": "Scalar to multiply by" - }, - "returns": { - "_0": "(pt2xx, pt2xy, pt2yx, pt2yy)" - } - } - }, - "title": "Elliptic curve operations on twist points for alt_bn128" - }, - "userdoc": { - "methods": { - "ECTwistAdd(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)": { - "notice": "Add two twist points" - }, - "ECTwistMul(uint256,uint256,uint256,uint256,uint256)": { - "notice": "Multiply a twist point by a scalar" - }, - "GetFieldModulus()": { - "notice": "Get the field modulus" - } - } - } -} \ No newline at end of file diff --git a/app_/src/contracts/ComplexStorage.json b/app_/src/contracts/ComplexStorage.json deleted file mode 100644 index 6d79d4e..0000000 --- a/app_/src/contracts/ComplexStorage.json +++ /dev/null @@ -1,3723 +0,0 @@ -{ - "contractName": "ComplexStorage", - "abi": [ - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "constant": true, - "inputs": [], - "name": "constuint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "deviceDataArray", - "outputs": [ - { - "internalType": "string", - "name": "deviceBrand", - "type": "string" - }, - { - "internalType": "string", - "name": "deviceYear", - "type": "string" - }, - { - "internalType": "string", - "name": "batteryWearLevel", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "investmentsDeadlineTimeStamp", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "investmentsLimit", - "outputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "singleDD", - "outputs": [ - { - "internalType": "string", - "name": "deviceBrand", - "type": "string" - }, - { - "internalType": "string", - "name": "deviceYear", - "type": "string" - }, - { - "internalType": "string", - "name": "batteryWearLevel", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "storeduint1", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "string1", - "outputs": [ - { - "internalType": "bytes16", - "name": "", - "type": "bytes16" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "string2", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "string3", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "uintarray", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[],\"name\":\"constuint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"deviceDataArray\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"deviceBrand\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"deviceYear\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"batteryWearLevel\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"investmentsDeadlineTimeStamp\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"investmentsLimit\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"singleDD\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"deviceBrand\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"deviceYear\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"batteryWearLevel\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"storeduint1\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"string1\",\"outputs\":[{\"internalType\":\"bytes16\",\"name\":\"\",\"type\":\"bytes16\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"string2\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"string3\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"uintarray\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/ComplexStorage.sol\":\"ComplexStorage\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/ComplexStorage.sol\":{\"keccak256\":\"0x2a310f2314d8aef5460fde0e18a65469388b90b1598fe5eed6d04c03b76ffdf9\",\"urls\":[\"bzz-raw://34ab612f5b31ebd2bc3c8a2bb2c3556b2a3b5c872939bbecec406062ddcbfe16\",\"dweb:/ipfs/QmRytx7D87AyJHaeuYtQMFVLxavhNdFi5o2BCGvf9RdrqG\"]}},\"version\":1}", - "bytecode": "0x6080604052600f60005561429f600160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555042600160106101000a81548163ffffffff021916908363ffffffff1602179055507f7465737431000000000000000000000000000000000000000000000000000000600260006101000a8154816fffffffffffffffffffffffffffffffff021916908360801c02179055507f74657374313233360000000000000000000000000000000000000000000000006003556040518060400160405280601581526020017f6c65747320737472696e6720736f6d657468696e6700000000000000000000008152506004908051906020019062000120929190620007f7565b503480156200012e57600080fd5b50600073bccc714d56bc0da0fd33d96d2a87b680dd6d0df69050600073aee905fdd3ed851e48d22059575b9f4245a82b0490506058600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506063600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060405180606001604052806040518060400160405280600b81526020017f6465766963654272616e6400000000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f646576696365596561720000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f776561724c6576656c0000000000000000000000000000000000000000000000815250815250600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000019080519060200190620003029291906200087e565b506020820151816001019080519060200190620003219291906200087e565b506040820151816002019080519060200190620003409291906200087e565b5090505060405180606001604052806040518060400160405280600c81526020017f6465766963654272616e6432000000000000000000000000000000000000000081525081526020016040518060400160405280600b81526020017f646576696365596561723200000000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f776561724c6576656c3200000000000000000000000000000000000000000000815250815250600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000190805190602001906200045b9291906200087e565b5060208201518160010190805190602001906200047a9291906200087e565b506040820151816002019080519060200190620004999291906200087e565b5090505060405180606001604052806040518060400160405280600c81526020017f6465766963654272616e6433000000000000000000000000000000000000000081525081526020016040518060400160405280600b81526020017f646576696365596561723300000000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f776561724c6576656c330000000000000000000000000000000000000000000081525081525060096000820151816000019080519060200190620005779291906200087e565b506020820151816001019080519060200190620005969291906200087e565b506040820151816002019080519060200190620005b59291906200087e565b509050506007611f409080600181540180825580915050906001820390600052602060002001600090919290919091505550600761232890806001815401808255809150509060018203906000526020600020016000909192909190915055506008600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209080600181540180825580915050906001820390600052602060002090600302016000909192909190915060008201816000019080546001816001161561010002031660029004620006aa92919062000905565b5060018201816001019080546001816001161561010002031660029004620006d492919062000905565b5060028201816002019080546001816001161561010002031660029004620006fe92919062000905565b505050506008600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082018160000190805460018160011615610100020316600290046200079792919062000905565b5060018201816001019080546001816001161561010002031660029004620007c192919062000905565b5060028201816002019080546001816001161561010002031660029004620007eb92919062000905565b505050505050620009bb565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200083a57805160ff19168380011785556200086b565b828001600101855582156200086b579182015b828111156200086a5782518255916020019190600101906200084d565b5b5090506200087a919062000993565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620008c157805160ff1916838001178555620008f2565b82800160010185558215620008f2579182015b82811115620008f1578251825591602001919060010190620008d4565b5b50905062000901919062000993565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000940578054855562000980565b828001600101855582156200098057600052602060002091601f016020900482015b828111156200097f57825482559160010191906001019062000962565b5b5090506200098f919062000993565b5090565b620009b891905b80821115620009b45760008160009055506001016200099a565b5090565b90565b610a7b80620009cb6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063927558601161006657806392755860146103fb57806397ba784f1461047e578063a7b2cfca1461049c578063df4fddf5146104e0578063eec65f291461050a5761009e565b80630ca0aa79146100a357806311f9c74d146100c157806328a20b5e146100df5780636c0c1bcf1461023a57806384eeda561461027c575b600080fd5b6100ab61054c565b6040518082815260200191505060405180910390f35b6100c9610552565b6040518082815260200191505060405180910390f35b6100e7610558565b60405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561012f578082015181840152602081019050610114565b50505050905090810190601f16801561015c5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b8381101561019557808201518184015260208101905061017a565b50505050905090810190601f1680156101c25780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b838110156101fb5780820151818401526020810190506101e0565b50505050905090810190601f1680156102285780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b6102666004803603602081101561025057600080fd5b8101908080359060200190929190505050610738565b6040518082815260200191505060405180910390f35b6102a86004803603602081101561029257600080fd5b8101908080359060200190929190505050610759565b60405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b838110156102f05780820151818401526020810190506102d5565b50505050905090810190601f16801561031d5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b8381101561035657808201518184015260208101905061033b565b50505050905090810190601f1680156103835780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b838110156103bc5780820151818401526020810190506103a1565b50505050905090810190601f1680156103e95780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b610403610958565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610443578082015181840152602081019050610428565b50505050905090810190601f1680156104705780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104866109f6565b6040518082815260200191505060405180910390f35b6104a46109fb565b60405180826fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6104e8610a0e565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b610512610a24565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60035481565b60005481565b6009806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105f25780601f106105c7576101008083540402835291602001916105f2565b820191906000526020600020905b8154815290600101906020018083116105d557829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106905780601f1061066557610100808354040283529160200191610690565b820191906000526020600020905b81548152906001019060200180831161067357829003601f168201915b505050505090806002018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561072e5780601f106107035761010080835404028352916020019161072e565b820191906000526020600020905b81548152906001019060200180831161071157829003601f168201915b5050505050905083565b6007818154811061074557fe5b906000526020600020016000915090505481565b6008818154811061076657fe5b9060005260206000209060030201600091509050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108125780601f106107e757610100808354040283529160200191610812565b820191906000526020600020905b8154815290600101906020018083116107f557829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108b05780601f10610885576101008083540402835291602001916108b0565b820191906000526020600020905b81548152906001019060200180831161089357829003601f168201915b505050505090806002018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561094e5780601f106109235761010080835404028352916020019161094e565b820191906000526020600020905b81548152906001019060200180831161093157829003601f168201915b5050505050905083565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109ee5780601f106109c3576101008083540402835291602001916109ee565b820191906000526020600020905b8154815290600101906020018083116109d157829003601f168201915b505050505081565b601081565b600260009054906101000a900460801b81565b600160109054906101000a900463ffffffff1681565b600160009054906101000a90046fffffffffffffffffffffffffffffffff168156fea265627a7a72315820b8324737eb85eb47ce6ea43803e27277da497966b0a6af43b790d94b7e22956e64736f6c63430005100032", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063927558601161006657806392755860146103fb57806397ba784f1461047e578063a7b2cfca1461049c578063df4fddf5146104e0578063eec65f291461050a5761009e565b80630ca0aa79146100a357806311f9c74d146100c157806328a20b5e146100df5780636c0c1bcf1461023a57806384eeda561461027c575b600080fd5b6100ab61054c565b6040518082815260200191505060405180910390f35b6100c9610552565b6040518082815260200191505060405180910390f35b6100e7610558565b60405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561012f578082015181840152602081019050610114565b50505050905090810190601f16801561015c5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b8381101561019557808201518184015260208101905061017a565b50505050905090810190601f1680156101c25780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b838110156101fb5780820151818401526020810190506101e0565b50505050905090810190601f1680156102285780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b6102666004803603602081101561025057600080fd5b8101908080359060200190929190505050610738565b6040518082815260200191505060405180910390f35b6102a86004803603602081101561029257600080fd5b8101908080359060200190929190505050610759565b60405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b838110156102f05780820151818401526020810190506102d5565b50505050905090810190601f16801561031d5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b8381101561035657808201518184015260208101905061033b565b50505050905090810190601f1680156103835780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b838110156103bc5780820151818401526020810190506103a1565b50505050905090810190601f1680156103e95780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b610403610958565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610443578082015181840152602081019050610428565b50505050905090810190601f1680156104705780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104866109f6565b6040518082815260200191505060405180910390f35b6104a46109fb565b60405180826fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6104e8610a0e565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b610512610a24565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60035481565b60005481565b6009806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105f25780601f106105c7576101008083540402835291602001916105f2565b820191906000526020600020905b8154815290600101906020018083116105d557829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106905780601f1061066557610100808354040283529160200191610690565b820191906000526020600020905b81548152906001019060200180831161067357829003601f168201915b505050505090806002018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561072e5780601f106107035761010080835404028352916020019161072e565b820191906000526020600020905b81548152906001019060200180831161071157829003601f168201915b5050505050905083565b6007818154811061074557fe5b906000526020600020016000915090505481565b6008818154811061076657fe5b9060005260206000209060030201600091509050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108125780601f106107e757610100808354040283529160200191610812565b820191906000526020600020905b8154815290600101906020018083116107f557829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108b05780601f10610885576101008083540402835291602001916108b0565b820191906000526020600020905b81548152906001019060200180831161089357829003601f168201915b505050505090806002018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561094e5780601f106109235761010080835404028352916020019161094e565b820191906000526020600020905b81548152906001019060200180831161093157829003601f168201915b5050505050905083565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109ee5780601f106109c3576101008083540402835291602001916109ee565b820191906000526020600020905b8154815290600101906020018083116109d157829003601f168201915b505050505081565b601081565b600260009054906101000a900460801b81565b600160109054906101000a900463ffffffff1681565b600160009054906101000a90046fffffffffffffffffffffffffffffffff168156fea265627a7a72315820b8324737eb85eb47ce6ea43803e27277da497966b0a6af43b790d94b7e22956e64736f6c63430005100032", - "sourceMap": "66:1296:0:-;;;122:2;96:28;;205:5;171:39;;;;;;;;;;;;;;;;;;;;268:3;216:56;;;;;;;;;;;;;;;;;;;;279:32;;;;;;;;;;;;;;;;;;;;;317:35;;;358:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;719:641;8:9:-1;5:2;;;30:1;27;20:12;5:2;719:641:0;750:16;769:42;750:61;;821:16;840:42;821:61;;912:2;893:6;:16;900:8;893:16;;;;;;;;;;;;;;;:21;;;;943:2;924:6;:16;931:8;924:16;;;;;;;;;;;;;;;:21;;;;977:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;956:8;:18;965:8;956:18;;;;;;;;;;;;;;;:73;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;1060:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1039:8;:18;1048:8;1039:18;;;;;;;;;;;;;;;:76;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;1136:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1125:8;:66;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;1202:9;1217:4;1202:20;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;1202:20:0;;;;;;;;;;;;;;;;;;;;;;1232:9;1247:4;1232:20;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;1232:20:0;;;;;;;;;;;;;;;;;;;;;;1263:15;1284:8;:18;1293:8;1284:18;;;;;;;;;;;;;;;1263:40;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;1263:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;1313:15;1334:8;:18;1343:8;1334:18;;;;;;;;;;;;;;;1313:40;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;1313:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;719:641;;66:1296;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "66:1296:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;66:1296:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;96:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;567:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;567:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;567:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;567:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;497:23;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;497:23:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;526:35;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;526:35:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;526:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;526:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;526:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;358:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;358:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;130:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;279:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;216:56;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;171:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;317:35;;;;:::o;96:28::-;;;;:::o;567:26::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;497:23::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;526:35::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;358:47::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;130:35::-;163:2;130:35;:::o;279:32::-;;;;;;;;;;;;;:::o;216:56::-;;;;;;;;;;;;;:::o;171:39::-;;;;;;;;;;;;;:::o", - "source": "// SPDX-License-Identifier: MIT\npragma solidity >=0.4.21 <0.7.0;\n\ncontract ComplexStorage {\n uint public storeduint1 = 15;\n uint public constant constuint = 16;\n uint128 public investmentsLimit = 17055;\n uint32 public investmentsDeadlineTimeStamp = uint32(now);\n\n bytes16 public string1 = \"test1\";\n bytes32 public string2 = \"test1236\";\n string public string3 = \"lets string something\";\n\n mapping (address => uint) uints1;\n mapping (address => DeviceData) structs1;\n\n uint[] public uintarray;\n DeviceData[] public deviceDataArray;\n DeviceData public singleDD;\n\n struct DeviceData {\n string deviceBrand;\n string deviceYear;\n string batteryWearLevel;\n }\n\n constructor() public {\n address address1 = 0xbCcc714d56bc0da0fd33d96d2a87b680dD6D0DF6;\n address address2 = 0xaee905FdD3ED851e48d22059575b9F4245A82B04;\n\n uints1[address1] = 88;\n uints1[address2] = 99;\n\n structs1[address1] = DeviceData(\"deviceBrand\", \"deviceYear\", \"wearLevel\");\n structs1[address2] = DeviceData(\"deviceBrand2\", \"deviceYear2\", \"wearLevel2\");\n singleDD = DeviceData(\"deviceBrand3\", \"deviceYear3\", \"wearLevel3\");\n\n uintarray.push(8000);\n uintarray.push(9000);\n\n deviceDataArray.push(structs1[address1]);\n deviceDataArray.push(structs1[address2]);\n }\n}\n", - "sourcePath": "C:\\Users\\Diego\\dev\\blockchain\\dapp-real-state\\contracts\\ComplexStorage.sol", - "ast": { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/ComplexStorage.sol", - "exportedSymbols": { - "ComplexStorage": [ - 128 - ] - }, - "id": 129, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - ">=", - "0.4", - ".21", - "<", - "0.7", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "32:32:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 128, - "linearizedBaseContracts": [ - 128 - ], - "name": "ComplexStorage", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 4, - "name": "storeduint1", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "96:28:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "96:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3135", - "id": 3, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "122:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_15_by_1", - "typeString": "int_const 15" - }, - "value": "15" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 7, - "name": "constuint", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "130:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "130:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3136", - "id": 6, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "163:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "visibility": "public" - }, - { - "constant": false, - "id": 10, - "name": "investmentsLimit", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "171:39:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 8, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "171:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3137303535", - "id": 9, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "205:5:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_17055_by_1", - "typeString": "int_const 17055" - }, - "value": "17055" - }, - "visibility": "public" - }, - { - "constant": false, - "id": 15, - "name": "investmentsDeadlineTimeStamp", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "216:56:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 11, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "216:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 921, - "src": "268:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "261:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 14, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "261:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "visibility": "public" - }, - { - "constant": false, - "id": 18, - "name": "string1", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "279:32:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - }, - "typeName": { - "id": 16, - "name": "bytes16", - "nodeType": "ElementaryTypeName", - "src": "279:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "7465737431", - "id": 17, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "304:7:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6d255fc3390ee6b41191da315958b7d6a1e5b17904cc7683558f98acc57977b4", - "typeString": "literal_string \"test1\"" - }, - "value": "test1" - }, - "visibility": "public" - }, - { - "constant": false, - "id": 21, - "name": "string2", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "317:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 19, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "317:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "7465737431323336", - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "342:10:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f129888351c961796f299da7fae88cb11a69bd10876f5579df4dbf93c189209d", - "typeString": "literal_string \"test1236\"" - }, - "value": "test1236" - }, - "visibility": "public" - }, - { - "constant": false, - "id": 24, - "name": "string3", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "358:47:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 22, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "358:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "6c65747320737472696e6720736f6d657468696e67", - "id": 23, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "382:23:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c538f8e1f6d0150804a138d1c8a309fa4f7300fb7f8f8925627eb1ee943faaf", - "typeString": "literal_string \"lets string something\"" - }, - "value": "lets string something" - }, - "visibility": "public" - }, - { - "constant": false, - "id": 28, - "name": "uints1", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "412:32:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 27, - "keyType": { - "id": 25, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "421:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "412:25:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 26, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "432:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 32, - "name": "structs1", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "450:40:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DeviceData_$47_storage_$", - "typeString": "mapping(address => struct ComplexStorage.DeviceData)" - }, - "typeName": { - "id": 31, - "keyType": { - "id": 29, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "459:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "450:31:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DeviceData_$47_storage_$", - "typeString": "mapping(address => struct ComplexStorage.DeviceData)" - }, - "valueType": { - "contractScope": null, - "id": 30, - "name": "DeviceData", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 47, - "src": "470:10:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage_ptr", - "typeString": "struct ComplexStorage.DeviceData" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 35, - "name": "uintarray", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "497:23:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 33, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "497:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 34, - "length": null, - "nodeType": "ArrayTypeName", - "src": "497:6:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 38, - "name": "deviceDataArray", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "526:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DeviceData_$47_storage_$dyn_storage", - "typeString": "struct ComplexStorage.DeviceData[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 36, - "name": "DeviceData", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 47, - "src": "526:10:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage_ptr", - "typeString": "struct ComplexStorage.DeviceData" - } - }, - "id": 37, - "length": null, - "nodeType": "ArrayTypeName", - "src": "526:12:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DeviceData_$47_storage_$dyn_storage_ptr", - "typeString": "struct ComplexStorage.DeviceData[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 40, - "name": "singleDD", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "567:26:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData" - }, - "typeName": { - "contractScope": null, - "id": 39, - "name": "DeviceData", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 47, - "src": "567:10:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage_ptr", - "typeString": "struct ComplexStorage.DeviceData" - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "ComplexStorage.DeviceData", - "id": 47, - "members": [ - { - "constant": false, - "id": 42, - "name": "deviceBrand", - "nodeType": "VariableDeclaration", - "scope": 47, - "src": "628:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 41, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "628:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 44, - "name": "deviceYear", - "nodeType": "VariableDeclaration", - "scope": 47, - "src": "656:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 43, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "656:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 46, - "name": "batteryWearLevel", - "nodeType": "VariableDeclaration", - "scope": 47, - "src": "683:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 45, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "683:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "DeviceData", - "nodeType": "StructDefinition", - "scope": 128, - "src": "600:113:0", - "visibility": "public" - }, - { - "body": { - "id": 126, - "nodeType": "Block", - "src": "740:620:0", - "statements": [ - { - "assignments": [ - 51 - ], - "declarations": [ - { - "constant": false, - "id": 51, - "name": "address1", - "nodeType": "VariableDeclaration", - "scope": 126, - "src": "750:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 50, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "750:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 53, - "initialValue": { - "argumentTypes": null, - "hexValue": "307862436363373134643536626330646130666433336439366432613837623638306444364430444636", - "id": 52, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "769:42:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0xbCcc714d56bc0da0fd33d96d2a87b680dD6D0DF6" - }, - "nodeType": "VariableDeclarationStatement", - "src": "750:61:0" - }, - { - "assignments": [ - 55 - ], - "declarations": [ - { - "constant": false, - "id": 55, - "name": "address2", - "nodeType": "VariableDeclaration", - "scope": 126, - "src": "821:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 54, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "821:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 57, - "initialValue": { - "argumentTypes": null, - "hexValue": "307861656539303546644433454438353165343864323230353935373562394634323435413832423034", - "id": 56, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "840:42:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0xaee905FdD3ED851e48d22059575b9F4245A82B04" - }, - "nodeType": "VariableDeclarationStatement", - "src": "821:61:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 62, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 58, - "name": "uints1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28, - "src": "893:6:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 60, - "indexExpression": { - "argumentTypes": null, - "id": 59, - "name": "address1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "900:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "893:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3838", - "id": 61, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "912:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_88_by_1", - "typeString": "int_const 88" - }, - "value": "88" - }, - "src": "893:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 63, - "nodeType": "ExpressionStatement", - "src": "893:21:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 68, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 64, - "name": "uints1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28, - "src": "924:6:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 66, - "indexExpression": { - "argumentTypes": null, - "id": 65, - "name": "address2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "931:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "924:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3939", - "id": 67, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "943:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_99_by_1", - "typeString": "int_const 99" - }, - "value": "99" - }, - "src": "924:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 69, - "nodeType": "ExpressionStatement", - "src": "924:21:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 78, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 70, - "name": "structs1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "956:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DeviceData_$47_storage_$", - "typeString": "mapping(address => struct ComplexStorage.DeviceData storage ref)" - } - }, - "id": 72, - "indexExpression": { - "argumentTypes": null, - "id": 71, - "name": "address1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "965:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "956:18:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "6465766963654272616e64", - "id": 74, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "988:13:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5a9a85b8928b79cc1f02100237111cf3422d710a08fbfb12e48f427d381fdae", - "typeString": "literal_string \"deviceBrand\"" - }, - "value": "deviceBrand" - }, - { - "argumentTypes": null, - "hexValue": "64657669636559656172", - "id": 75, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1003:12:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_34ff46e459c811ca978da3854e2d006a92eb0df8c5ddda72aa02857e089402b9", - "typeString": "literal_string \"deviceYear\"" - }, - "value": "deviceYear" - }, - { - "argumentTypes": null, - "hexValue": "776561724c6576656c", - "id": 76, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1017:11:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_268f99e2b7dda83dca58387ef02c95cf8a06718b83aa8392457c1215716771f6", - "typeString": "literal_string \"wearLevel\"" - }, - "value": "wearLevel" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_c5a9a85b8928b79cc1f02100237111cf3422d710a08fbfb12e48f427d381fdae", - "typeString": "literal_string \"deviceBrand\"" - }, - { - "typeIdentifier": "t_stringliteral_34ff46e459c811ca978da3854e2d006a92eb0df8c5ddda72aa02857e089402b9", - "typeString": "literal_string \"deviceYear\"" - }, - { - "typeIdentifier": "t_stringliteral_268f99e2b7dda83dca58387ef02c95cf8a06718b83aa8392457c1215716771f6", - "typeString": "literal_string \"wearLevel\"" - } - ], - "id": 73, - "name": "DeviceData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "977:10:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_DeviceData_$47_storage_ptr_$", - "typeString": "type(struct ComplexStorage.DeviceData storage pointer)" - } - }, - "id": 77, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "977:52:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_memory", - "typeString": "struct ComplexStorage.DeviceData memory" - } - }, - "src": "956:73:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref" - } - }, - "id": 79, - "nodeType": "ExpressionStatement", - "src": "956:73:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 88, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 80, - "name": "structs1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "1039:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DeviceData_$47_storage_$", - "typeString": "mapping(address => struct ComplexStorage.DeviceData storage ref)" - } - }, - "id": 82, - "indexExpression": { - "argumentTypes": null, - "id": 81, - "name": "address2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "1048:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1039:18:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "6465766963654272616e6432", - "id": 84, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1071:14:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_08da4e55b3e3f747cebe4e42ac9688d2f9055c55715f7e3b5d4a769cbc387f00", - "typeString": "literal_string \"deviceBrand2\"" - }, - "value": "deviceBrand2" - }, - { - "argumentTypes": null, - "hexValue": "6465766963655965617232", - "id": 85, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1087:13:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_007e0f9f42fc687669d8ab9e812acef8fe2482ee85a6333a4a5a8b65e054a3d1", - "typeString": "literal_string \"deviceYear2\"" - }, - "value": "deviceYear2" - }, - { - "argumentTypes": null, - "hexValue": "776561724c6576656c32", - "id": 86, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1102:12:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f42e13b584cacb47a3c79864fe4fbfb1496a81abc254a89069e5c8393ef9ac79", - "typeString": "literal_string \"wearLevel2\"" - }, - "value": "wearLevel2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_08da4e55b3e3f747cebe4e42ac9688d2f9055c55715f7e3b5d4a769cbc387f00", - "typeString": "literal_string \"deviceBrand2\"" - }, - { - "typeIdentifier": "t_stringliteral_007e0f9f42fc687669d8ab9e812acef8fe2482ee85a6333a4a5a8b65e054a3d1", - "typeString": "literal_string \"deviceYear2\"" - }, - { - "typeIdentifier": "t_stringliteral_f42e13b584cacb47a3c79864fe4fbfb1496a81abc254a89069e5c8393ef9ac79", - "typeString": "literal_string \"wearLevel2\"" - } - ], - "id": 83, - "name": "DeviceData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "1060:10:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_DeviceData_$47_storage_ptr_$", - "typeString": "type(struct ComplexStorage.DeviceData storage pointer)" - } - }, - "id": 87, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1060:55:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_memory", - "typeString": "struct ComplexStorage.DeviceData memory" - } - }, - "src": "1039:76:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref" - } - }, - "id": 89, - "nodeType": "ExpressionStatement", - "src": "1039:76:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 96, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 90, - "name": "singleDD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 40, - "src": "1125:8:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "6465766963654272616e6433", - "id": 92, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1147:14:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_27032d725e4e7c2ae94926ec3c2439db8ab850c25a81874548f39b6c8fe8972a", - "typeString": "literal_string \"deviceBrand3\"" - }, - "value": "deviceBrand3" - }, - { - "argumentTypes": null, - "hexValue": "6465766963655965617233", - "id": 93, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1163:13:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_62724a033a3a0b32ee45de32e5059f4bfe70a97196613e0d46db9e2d78c008e7", - "typeString": "literal_string \"deviceYear3\"" - }, - "value": "deviceYear3" - }, - { - "argumentTypes": null, - "hexValue": "776561724c6576656c33", - "id": 94, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1178:12:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_224c2b3ceeec2fef6091768d16b4bca0d88bb418547e7c6c4ba0dc53eb7328e9", - "typeString": "literal_string \"wearLevel3\"" - }, - "value": "wearLevel3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_27032d725e4e7c2ae94926ec3c2439db8ab850c25a81874548f39b6c8fe8972a", - "typeString": "literal_string \"deviceBrand3\"" - }, - { - "typeIdentifier": "t_stringliteral_62724a033a3a0b32ee45de32e5059f4bfe70a97196613e0d46db9e2d78c008e7", - "typeString": "literal_string \"deviceYear3\"" - }, - { - "typeIdentifier": "t_stringliteral_224c2b3ceeec2fef6091768d16b4bca0d88bb418547e7c6c4ba0dc53eb7328e9", - "typeString": "literal_string \"wearLevel3\"" - } - ], - "id": 91, - "name": "DeviceData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "1136:10:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_DeviceData_$47_storage_ptr_$", - "typeString": "type(struct ComplexStorage.DeviceData storage pointer)" - } - }, - "id": 95, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1136:55:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_memory", - "typeString": "struct ComplexStorage.DeviceData memory" - } - }, - "src": "1125:66:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref" - } - }, - "id": 97, - "nodeType": "ExpressionStatement", - "src": "1125:66:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "38303030", - "id": 101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1217:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8000_by_1", - "typeString": "int_const 8000" - }, - "value": "8000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_8000_by_1", - "typeString": "int_const 8000" - } - ], - "expression": { - "argumentTypes": null, - "id": 98, - "name": "uintarray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "1202:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1202:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) returns (uint256)" - } - }, - "id": 102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1202:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 103, - "nodeType": "ExpressionStatement", - "src": "1202:20:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "39303030", - "id": 107, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1247:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_9000_by_1", - "typeString": "int_const 9000" - }, - "value": "9000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_9000_by_1", - "typeString": "int_const 9000" - } - ], - "expression": { - "argumentTypes": null, - "id": 104, - "name": "uintarray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "1232:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1232:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) returns (uint256)" - } - }, - "id": 108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1232:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 109, - "nodeType": "ExpressionStatement", - "src": "1232:20:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 113, - "name": "structs1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "1284:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DeviceData_$47_storage_$", - "typeString": "mapping(address => struct ComplexStorage.DeviceData storage ref)" - } - }, - "id": 115, - "indexExpression": { - "argumentTypes": null, - "id": 114, - "name": "address1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "1293:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1284:18:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref" - } - ], - "expression": { - "argumentTypes": null, - "id": 110, - "name": "deviceDataArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 38, - "src": "1263:15:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DeviceData_$47_storage_$dyn_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref[] storage ref" - } - }, - "id": 112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1263:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_DeviceData_$47_storage_$returns$_t_uint256_$", - "typeString": "function (struct ComplexStorage.DeviceData storage ref) returns (uint256)" - } - }, - "id": 116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1263:40:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 117, - "nodeType": "ExpressionStatement", - "src": "1263:40:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 121, - "name": "structs1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "1334:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DeviceData_$47_storage_$", - "typeString": "mapping(address => struct ComplexStorage.DeviceData storage ref)" - } - }, - "id": 123, - "indexExpression": { - "argumentTypes": null, - "id": 122, - "name": "address2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "1343:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1334:18:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref" - } - ], - "expression": { - "argumentTypes": null, - "id": 118, - "name": "deviceDataArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 38, - "src": "1313:15:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DeviceData_$47_storage_$dyn_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref[] storage ref" - } - }, - "id": 120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1313:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_DeviceData_$47_storage_$returns$_t_uint256_$", - "typeString": "function (struct ComplexStorage.DeviceData storage ref) returns (uint256)" - } - }, - "id": 124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1313:40:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 125, - "nodeType": "ExpressionStatement", - "src": "1313:40:0" - } - ] - }, - "documentation": null, - "id": 127, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 48, - "nodeType": "ParameterList", - "parameters": [], - "src": "730:2:0" - }, - "returnParameters": { - "id": 49, - "nodeType": "ParameterList", - "parameters": [], - "src": "740:0:0" - }, - "scope": 128, - "src": "719:641:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 129, - "src": "66:1296:0" - } - ], - "src": "32:1331:0" - }, - "legacyAST": { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/ComplexStorage.sol", - "exportedSymbols": { - "ComplexStorage": [ - 128 - ] - }, - "id": 129, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - ">=", - "0.4", - ".21", - "<", - "0.7", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "32:32:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 128, - "linearizedBaseContracts": [ - 128 - ], - "name": "ComplexStorage", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 4, - "name": "storeduint1", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "96:28:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "96:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3135", - "id": 3, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "122:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_15_by_1", - "typeString": "int_const 15" - }, - "value": "15" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 7, - "name": "constuint", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "130:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "130:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3136", - "id": 6, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "163:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "visibility": "public" - }, - { - "constant": false, - "id": 10, - "name": "investmentsLimit", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "171:39:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 8, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "171:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3137303535", - "id": 9, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "205:5:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_17055_by_1", - "typeString": "int_const 17055" - }, - "value": "17055" - }, - "visibility": "public" - }, - { - "constant": false, - "id": 15, - "name": "investmentsDeadlineTimeStamp", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "216:56:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 11, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "216:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 13, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 921, - "src": "268:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 12, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "261:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 14, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "261:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "visibility": "public" - }, - { - "constant": false, - "id": 18, - "name": "string1", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "279:32:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - }, - "typeName": { - "id": 16, - "name": "bytes16", - "nodeType": "ElementaryTypeName", - "src": "279:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "7465737431", - "id": 17, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "304:7:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6d255fc3390ee6b41191da315958b7d6a1e5b17904cc7683558f98acc57977b4", - "typeString": "literal_string \"test1\"" - }, - "value": "test1" - }, - "visibility": "public" - }, - { - "constant": false, - "id": 21, - "name": "string2", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "317:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 19, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "317:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "7465737431323336", - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "342:10:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f129888351c961796f299da7fae88cb11a69bd10876f5579df4dbf93c189209d", - "typeString": "literal_string \"test1236\"" - }, - "value": "test1236" - }, - "visibility": "public" - }, - { - "constant": false, - "id": 24, - "name": "string3", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "358:47:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 22, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "358:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "6c65747320737472696e6720736f6d657468696e67", - "id": 23, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "382:23:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c538f8e1f6d0150804a138d1c8a309fa4f7300fb7f8f8925627eb1ee943faaf", - "typeString": "literal_string \"lets string something\"" - }, - "value": "lets string something" - }, - "visibility": "public" - }, - { - "constant": false, - "id": 28, - "name": "uints1", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "412:32:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 27, - "keyType": { - "id": 25, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "421:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "412:25:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 26, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "432:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 32, - "name": "structs1", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "450:40:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DeviceData_$47_storage_$", - "typeString": "mapping(address => struct ComplexStorage.DeviceData)" - }, - "typeName": { - "id": 31, - "keyType": { - "id": 29, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "459:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "450:31:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DeviceData_$47_storage_$", - "typeString": "mapping(address => struct ComplexStorage.DeviceData)" - }, - "valueType": { - "contractScope": null, - "id": 30, - "name": "DeviceData", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 47, - "src": "470:10:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage_ptr", - "typeString": "struct ComplexStorage.DeviceData" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 35, - "name": "uintarray", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "497:23:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 33, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "497:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 34, - "length": null, - "nodeType": "ArrayTypeName", - "src": "497:6:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 38, - "name": "deviceDataArray", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "526:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DeviceData_$47_storage_$dyn_storage", - "typeString": "struct ComplexStorage.DeviceData[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 36, - "name": "DeviceData", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 47, - "src": "526:10:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage_ptr", - "typeString": "struct ComplexStorage.DeviceData" - } - }, - "id": 37, - "length": null, - "nodeType": "ArrayTypeName", - "src": "526:12:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DeviceData_$47_storage_$dyn_storage_ptr", - "typeString": "struct ComplexStorage.DeviceData[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 40, - "name": "singleDD", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "567:26:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData" - }, - "typeName": { - "contractScope": null, - "id": 39, - "name": "DeviceData", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 47, - "src": "567:10:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage_ptr", - "typeString": "struct ComplexStorage.DeviceData" - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "ComplexStorage.DeviceData", - "id": 47, - "members": [ - { - "constant": false, - "id": 42, - "name": "deviceBrand", - "nodeType": "VariableDeclaration", - "scope": 47, - "src": "628:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 41, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "628:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 44, - "name": "deviceYear", - "nodeType": "VariableDeclaration", - "scope": 47, - "src": "656:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 43, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "656:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 46, - "name": "batteryWearLevel", - "nodeType": "VariableDeclaration", - "scope": 47, - "src": "683:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 45, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "683:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "DeviceData", - "nodeType": "StructDefinition", - "scope": 128, - "src": "600:113:0", - "visibility": "public" - }, - { - "body": { - "id": 126, - "nodeType": "Block", - "src": "740:620:0", - "statements": [ - { - "assignments": [ - 51 - ], - "declarations": [ - { - "constant": false, - "id": 51, - "name": "address1", - "nodeType": "VariableDeclaration", - "scope": 126, - "src": "750:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 50, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "750:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 53, - "initialValue": { - "argumentTypes": null, - "hexValue": "307862436363373134643536626330646130666433336439366432613837623638306444364430444636", - "id": 52, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "769:42:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0xbCcc714d56bc0da0fd33d96d2a87b680dD6D0DF6" - }, - "nodeType": "VariableDeclarationStatement", - "src": "750:61:0" - }, - { - "assignments": [ - 55 - ], - "declarations": [ - { - "constant": false, - "id": 55, - "name": "address2", - "nodeType": "VariableDeclaration", - "scope": 126, - "src": "821:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 54, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "821:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 57, - "initialValue": { - "argumentTypes": null, - "hexValue": "307861656539303546644433454438353165343864323230353935373562394634323435413832423034", - "id": 56, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "840:42:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0xaee905FdD3ED851e48d22059575b9F4245A82B04" - }, - "nodeType": "VariableDeclarationStatement", - "src": "821:61:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 62, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 58, - "name": "uints1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28, - "src": "893:6:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 60, - "indexExpression": { - "argumentTypes": null, - "id": 59, - "name": "address1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "900:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "893:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3838", - "id": 61, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "912:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_88_by_1", - "typeString": "int_const 88" - }, - "value": "88" - }, - "src": "893:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 63, - "nodeType": "ExpressionStatement", - "src": "893:21:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 68, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 64, - "name": "uints1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28, - "src": "924:6:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 66, - "indexExpression": { - "argumentTypes": null, - "id": 65, - "name": "address2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "931:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "924:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3939", - "id": 67, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "943:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_99_by_1", - "typeString": "int_const 99" - }, - "value": "99" - }, - "src": "924:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 69, - "nodeType": "ExpressionStatement", - "src": "924:21:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 78, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 70, - "name": "structs1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "956:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DeviceData_$47_storage_$", - "typeString": "mapping(address => struct ComplexStorage.DeviceData storage ref)" - } - }, - "id": 72, - "indexExpression": { - "argumentTypes": null, - "id": 71, - "name": "address1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "965:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "956:18:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "6465766963654272616e64", - "id": 74, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "988:13:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5a9a85b8928b79cc1f02100237111cf3422d710a08fbfb12e48f427d381fdae", - "typeString": "literal_string \"deviceBrand\"" - }, - "value": "deviceBrand" - }, - { - "argumentTypes": null, - "hexValue": "64657669636559656172", - "id": 75, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1003:12:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_34ff46e459c811ca978da3854e2d006a92eb0df8c5ddda72aa02857e089402b9", - "typeString": "literal_string \"deviceYear\"" - }, - "value": "deviceYear" - }, - { - "argumentTypes": null, - "hexValue": "776561724c6576656c", - "id": 76, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1017:11:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_268f99e2b7dda83dca58387ef02c95cf8a06718b83aa8392457c1215716771f6", - "typeString": "literal_string \"wearLevel\"" - }, - "value": "wearLevel" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_c5a9a85b8928b79cc1f02100237111cf3422d710a08fbfb12e48f427d381fdae", - "typeString": "literal_string \"deviceBrand\"" - }, - { - "typeIdentifier": "t_stringliteral_34ff46e459c811ca978da3854e2d006a92eb0df8c5ddda72aa02857e089402b9", - "typeString": "literal_string \"deviceYear\"" - }, - { - "typeIdentifier": "t_stringliteral_268f99e2b7dda83dca58387ef02c95cf8a06718b83aa8392457c1215716771f6", - "typeString": "literal_string \"wearLevel\"" - } - ], - "id": 73, - "name": "DeviceData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "977:10:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_DeviceData_$47_storage_ptr_$", - "typeString": "type(struct ComplexStorage.DeviceData storage pointer)" - } - }, - "id": 77, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "977:52:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_memory", - "typeString": "struct ComplexStorage.DeviceData memory" - } - }, - "src": "956:73:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref" - } - }, - "id": 79, - "nodeType": "ExpressionStatement", - "src": "956:73:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 88, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 80, - "name": "structs1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "1039:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DeviceData_$47_storage_$", - "typeString": "mapping(address => struct ComplexStorage.DeviceData storage ref)" - } - }, - "id": 82, - "indexExpression": { - "argumentTypes": null, - "id": 81, - "name": "address2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "1048:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1039:18:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "6465766963654272616e6432", - "id": 84, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1071:14:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_08da4e55b3e3f747cebe4e42ac9688d2f9055c55715f7e3b5d4a769cbc387f00", - "typeString": "literal_string \"deviceBrand2\"" - }, - "value": "deviceBrand2" - }, - { - "argumentTypes": null, - "hexValue": "6465766963655965617232", - "id": 85, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1087:13:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_007e0f9f42fc687669d8ab9e812acef8fe2482ee85a6333a4a5a8b65e054a3d1", - "typeString": "literal_string \"deviceYear2\"" - }, - "value": "deviceYear2" - }, - { - "argumentTypes": null, - "hexValue": "776561724c6576656c32", - "id": 86, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1102:12:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f42e13b584cacb47a3c79864fe4fbfb1496a81abc254a89069e5c8393ef9ac79", - "typeString": "literal_string \"wearLevel2\"" - }, - "value": "wearLevel2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_08da4e55b3e3f747cebe4e42ac9688d2f9055c55715f7e3b5d4a769cbc387f00", - "typeString": "literal_string \"deviceBrand2\"" - }, - { - "typeIdentifier": "t_stringliteral_007e0f9f42fc687669d8ab9e812acef8fe2482ee85a6333a4a5a8b65e054a3d1", - "typeString": "literal_string \"deviceYear2\"" - }, - { - "typeIdentifier": "t_stringliteral_f42e13b584cacb47a3c79864fe4fbfb1496a81abc254a89069e5c8393ef9ac79", - "typeString": "literal_string \"wearLevel2\"" - } - ], - "id": 83, - "name": "DeviceData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "1060:10:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_DeviceData_$47_storage_ptr_$", - "typeString": "type(struct ComplexStorage.DeviceData storage pointer)" - } - }, - "id": 87, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1060:55:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_memory", - "typeString": "struct ComplexStorage.DeviceData memory" - } - }, - "src": "1039:76:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref" - } - }, - "id": 89, - "nodeType": "ExpressionStatement", - "src": "1039:76:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 96, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 90, - "name": "singleDD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 40, - "src": "1125:8:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "6465766963654272616e6433", - "id": 92, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1147:14:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_27032d725e4e7c2ae94926ec3c2439db8ab850c25a81874548f39b6c8fe8972a", - "typeString": "literal_string \"deviceBrand3\"" - }, - "value": "deviceBrand3" - }, - { - "argumentTypes": null, - "hexValue": "6465766963655965617233", - "id": 93, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1163:13:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_62724a033a3a0b32ee45de32e5059f4bfe70a97196613e0d46db9e2d78c008e7", - "typeString": "literal_string \"deviceYear3\"" - }, - "value": "deviceYear3" - }, - { - "argumentTypes": null, - "hexValue": "776561724c6576656c33", - "id": 94, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1178:12:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_224c2b3ceeec2fef6091768d16b4bca0d88bb418547e7c6c4ba0dc53eb7328e9", - "typeString": "literal_string \"wearLevel3\"" - }, - "value": "wearLevel3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_27032d725e4e7c2ae94926ec3c2439db8ab850c25a81874548f39b6c8fe8972a", - "typeString": "literal_string \"deviceBrand3\"" - }, - { - "typeIdentifier": "t_stringliteral_62724a033a3a0b32ee45de32e5059f4bfe70a97196613e0d46db9e2d78c008e7", - "typeString": "literal_string \"deviceYear3\"" - }, - { - "typeIdentifier": "t_stringliteral_224c2b3ceeec2fef6091768d16b4bca0d88bb418547e7c6c4ba0dc53eb7328e9", - "typeString": "literal_string \"wearLevel3\"" - } - ], - "id": 91, - "name": "DeviceData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "1136:10:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_DeviceData_$47_storage_ptr_$", - "typeString": "type(struct ComplexStorage.DeviceData storage pointer)" - } - }, - "id": 95, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1136:55:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_memory", - "typeString": "struct ComplexStorage.DeviceData memory" - } - }, - "src": "1125:66:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref" - } - }, - "id": 97, - "nodeType": "ExpressionStatement", - "src": "1125:66:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "38303030", - "id": 101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1217:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8000_by_1", - "typeString": "int_const 8000" - }, - "value": "8000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_8000_by_1", - "typeString": "int_const 8000" - } - ], - "expression": { - "argumentTypes": null, - "id": 98, - "name": "uintarray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "1202:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1202:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) returns (uint256)" - } - }, - "id": 102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1202:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 103, - "nodeType": "ExpressionStatement", - "src": "1202:20:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "39303030", - "id": 107, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1247:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_9000_by_1", - "typeString": "int_const 9000" - }, - "value": "9000" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_9000_by_1", - "typeString": "int_const 9000" - } - ], - "expression": { - "argumentTypes": null, - "id": 104, - "name": "uintarray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "1232:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1232:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) returns (uint256)" - } - }, - "id": 108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1232:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 109, - "nodeType": "ExpressionStatement", - "src": "1232:20:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 113, - "name": "structs1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "1284:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DeviceData_$47_storage_$", - "typeString": "mapping(address => struct ComplexStorage.DeviceData storage ref)" - } - }, - "id": 115, - "indexExpression": { - "argumentTypes": null, - "id": 114, - "name": "address1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 51, - "src": "1293:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1284:18:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref" - } - ], - "expression": { - "argumentTypes": null, - "id": 110, - "name": "deviceDataArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 38, - "src": "1263:15:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DeviceData_$47_storage_$dyn_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref[] storage ref" - } - }, - "id": 112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1263:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_DeviceData_$47_storage_$returns$_t_uint256_$", - "typeString": "function (struct ComplexStorage.DeviceData storage ref) returns (uint256)" - } - }, - "id": 116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1263:40:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 117, - "nodeType": "ExpressionStatement", - "src": "1263:40:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 121, - "name": "structs1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "1334:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DeviceData_$47_storage_$", - "typeString": "mapping(address => struct ComplexStorage.DeviceData storage ref)" - } - }, - "id": 123, - "indexExpression": { - "argumentTypes": null, - "id": 122, - "name": "address2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "1343:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1334:18:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_DeviceData_$47_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref" - } - ], - "expression": { - "argumentTypes": null, - "id": 118, - "name": "deviceDataArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 38, - "src": "1313:15:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DeviceData_$47_storage_$dyn_storage", - "typeString": "struct ComplexStorage.DeviceData storage ref[] storage ref" - } - }, - "id": 120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1313:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_DeviceData_$47_storage_$returns$_t_uint256_$", - "typeString": "function (struct ComplexStorage.DeviceData storage ref) returns (uint256)" - } - }, - "id": 124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1313:40:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 125, - "nodeType": "ExpressionStatement", - "src": "1313:40:0" - } - ] - }, - "documentation": null, - "id": 127, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 48, - "nodeType": "ParameterList", - "parameters": [], - "src": "730:2:0" - }, - "returnParameters": { - "id": 49, - "nodeType": "ParameterList", - "parameters": [], - "src": "740:0:0" - }, - "scope": 128, - "src": "719:641:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 129, - "src": "66:1296:0" - } - ], - "src": "32:1331:0" - }, - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1598722518206": { - "events": {}, - "links": {}, - "address": "0x8f0483125FCb9aaAEFA9209D8E9d7b9C8B9Fb90F", - "transactionHash": "0x113f2fdaf3a417fc4eaacf54fe42d23c2c590b0974dd5dff19ef34e0dbce1ed5" - } - }, - "schemaVersion": "3.2.0", - "updatedAt": "2020-08-29T17:41:13.795Z", - "networkType": "ethereum", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/app_/src/contracts/Context.json b/app_/src/contracts/Context.json deleted file mode 100644 index 86bbc4b..0000000 --- a/app_/src/contracts/Context.json +++ /dev/null @@ -1,595 +0,0 @@ -{ - "contractName": "Context", - "abi": [ - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/GSN/Context.sol\":\"Context\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/GSN/Context.sol\":{\"keccak256\":\"0x90a3995645af7562d84b9d69363ffa5ae7217714ab61e951bf7bc450f40e4061\",\"urls\":[\"bzz-raw://216ef9d6b614db4eb46970b4e84903f2534a45572dd30a79f0041f1a5830f436\",\"dweb:/ipfs/QmNPrJ4MWKUAWzKXpUqeyKRUfosaoANZAqXgvepdrCwZAG\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.5.0;\n\n/*\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with GSN meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\ncontract Context {\n // Empty internal constructor, to prevent people from mistakenly deploying\n // an instance of this contract, which should be used via inheritance.\n constructor () internal { }\n // solhint-disable-previous-line no-empty-blocks\n\n function _msgSender() internal view returns (address payable) {\n return msg.sender;\n }\n\n function _msgData() internal view returns (bytes memory) {\n this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691\n return msg.data;\n }\n}\n", - "sourcePath": "@openzeppelin\\contracts\\GSN\\Context.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", - "exportedSymbols": { - "Context": [ - 243 - ] - }, - "id": 244, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 218, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:4" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 243, - "linearizedBaseContracts": [ - 243 - ], - "name": "Context", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 221, - "nodeType": "Block", - "src": "726:3:4", - "statements": [] - }, - "documentation": null, - "id": 222, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 219, - "nodeType": "ParameterList", - "parameters": [], - "src": "714:2:4" - }, - "returnParameters": { - "id": 220, - "nodeType": "ParameterList", - "parameters": [], - "src": "726:0:4" - }, - "scope": 243, - "src": "702:27:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 230, - "nodeType": "Block", - "src": "850:34:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 227, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 919, - "src": "867:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "867:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 226, - "id": 229, - "nodeType": "Return", - "src": "860:17:4" - } - ] - }, - "documentation": null, - "id": 231, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgSender", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 223, - "nodeType": "ParameterList", - "parameters": [], - "src": "807:2:4" - }, - "returnParameters": { - "id": 226, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 225, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 231, - "src": "833:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 224, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:15:4", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:17:4" - }, - "scope": 243, - "src": "788:96:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 241, - "nodeType": "Block", - "src": "947:165:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 236, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 939, - "src": "957:4:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$243", - "typeString": "contract Context" - } - }, - "id": 237, - "nodeType": "ExpressionStatement", - "src": "957:4:4" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 238, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 919, - "src": "1097:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1097:8:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "functionReturnParameters": 235, - "id": 240, - "nodeType": "Return", - "src": "1090:15:4" - } - ] - }, - "documentation": null, - "id": 242, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgData", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 232, - "nodeType": "ParameterList", - "parameters": [], - "src": "907:2:4" - }, - "returnParameters": { - "id": 235, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 234, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 242, - "src": "933:12:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 233, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "933:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "932:14:4" - }, - "scope": 243, - "src": "890:222:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 244, - "src": "525:589:4" - } - ], - "src": "0:1115:4" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", - "exportedSymbols": { - "Context": [ - 243 - ] - }, - "id": 244, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 218, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:4" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 243, - "linearizedBaseContracts": [ - 243 - ], - "name": "Context", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 221, - "nodeType": "Block", - "src": "726:3:4", - "statements": [] - }, - "documentation": null, - "id": 222, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 219, - "nodeType": "ParameterList", - "parameters": [], - "src": "714:2:4" - }, - "returnParameters": { - "id": 220, - "nodeType": "ParameterList", - "parameters": [], - "src": "726:0:4" - }, - "scope": 243, - "src": "702:27:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 230, - "nodeType": "Block", - "src": "850:34:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 227, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 919, - "src": "867:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "867:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 226, - "id": 229, - "nodeType": "Return", - "src": "860:17:4" - } - ] - }, - "documentation": null, - "id": 231, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgSender", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 223, - "nodeType": "ParameterList", - "parameters": [], - "src": "807:2:4" - }, - "returnParameters": { - "id": 226, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 225, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 231, - "src": "833:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 224, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:15:4", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:17:4" - }, - "scope": 243, - "src": "788:96:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 241, - "nodeType": "Block", - "src": "947:165:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 236, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 939, - "src": "957:4:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$243", - "typeString": "contract Context" - } - }, - "id": 237, - "nodeType": "ExpressionStatement", - "src": "957:4:4" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 238, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 919, - "src": "1097:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1097:8:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "functionReturnParameters": 235, - "id": 240, - "nodeType": "Return", - "src": "1090:15:4" - } - ] - }, - "documentation": null, - "id": 242, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgData", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 232, - "nodeType": "ParameterList", - "parameters": [], - "src": "907:2:4" - }, - "returnParameters": { - "id": 235, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 234, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 242, - "src": "933:12:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 233, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "933:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "932:14:4" - }, - "scope": 243, - "src": "890:222:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 244, - "src": "525:589:4" - } - ], - "src": "0:1115:4" - }, - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.0", - "updatedAt": "2020-08-29T17:41:05.856Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/app_/src/contracts/Counters.json b/app_/src/contracts/Counters.json deleted file mode 100644 index a2e14c2..0000000 --- a/app_/src/contracts/Counters.json +++ /dev/null @@ -1,1179 +0,0 @@ -{ - "contractName": "Counters", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Matt Condon (@shrugs)\",\"details\":\"Provides counters that can only be incremented or decremented by one. This can be used e.g. to track the number of elements in a mapping, issuing ERC721 ids, or counting request ids. * Include with `using Counters for Counters.Counter;` Since it is not possible to overflow a 256 bit integer with increments of one, `increment` can skip the {SafeMath} overflow check, thereby saving gas. This does assume however correct usage, in that the underlying `_value` is never directly accessed.\",\"methods\":{},\"title\":\"Counters\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Counters.sol\":\"Counters\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806\",\"urls\":[\"bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5\",\"dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV\"]},\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0x2d68b8e6425249cd05cc0a66ea50cb5b8d10cbdac59c6de834e1002232813faf\",\"urls\":[\"bzz-raw://e3ce6b6ac17c67bba01e9c8c778f82f68fd4823bd083359cdd03040b70eeeba3\",\"dweb:/ipfs/QmX4t1jWwKaAkacvmQxEG5rBtLXg3EHw6pRjKhMZR8iw3n\"]}},\"version\":1}", - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122063d67fcd9520919f9e778532dbff51f5ce5b833d4882e8a8cbeacbb893f70b9964736f6c63430006020033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122063d67fcd9520919f9e778532dbff51f5ce5b833d4882e8a8cbeacbb893f70b9964736f6c63430006020033", - "sourceMap": "662:848:14:-:0;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", - "deployedSourceMap": "662:848:14:-:0;;;;;;;;", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.6.0;\n\nimport \"../math/SafeMath.sol\";\n\n/**\n * @title Counters\n * @author Matt Condon (@shrugs)\n * @dev Provides counters that can only be incremented or decremented by one. This can be used e.g. to track the number\n * of elements in a mapping, issuing ERC721 ids, or counting request ids.\n *\n * Include with `using Counters for Counters.Counter;`\n * Since it is not possible to overflow a 256 bit integer with increments of one, `increment` can skip the {SafeMath}\n * overflow check, thereby saving gas. This does assume however correct usage, in that the underlying `_value` is never\n * directly accessed.\n */\nlibrary Counters {\n using SafeMath for uint256;\n\n struct Counter {\n // This variable should never be directly accessed by users of the library: interactions must be restricted to\n // the library's function. As of Solidity v0.5.2, this cannot be enforced, though there is a proposal to add\n // this feature: see https://github.com/ethereum/solidity/issues/4637\n uint256 _value; // default: 0\n }\n\n function current(Counter storage counter) internal view returns (uint256) {\n return counter._value;\n }\n\n function increment(Counter storage counter) internal {\n // The {SafeMath} overflow check can be skipped here, see the comment at the top\n counter._value += 1;\n }\n\n function decrement(Counter storage counter) internal {\n counter._value = counter._value.sub(1);\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/utils/Counters.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/Counters.sol", - "exportedSymbols": { - "Counters": [ - 7165 - ] - }, - "id": 7166, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7118, - "literals": [ - "solidity", - "^", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:14" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "../math/SafeMath.sol", - "id": 7119, - "nodeType": "ImportDirective", - "scope": 7166, - "sourceUnit": 6904, - "src": "58:30:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@title Counters\n@author Matt Condon (@shrugs)\n@dev Provides counters that can only be incremented or decremented by one. This can be used e.g. to track the number\nof elements in a mapping, issuing ERC721 ids, or counting request ids.\n * Include with `using Counters for Counters.Counter;`\nSince it is not possible to overflow a 256 bit integer with increments of one, `increment` can skip the {SafeMath}\noverflow check, thereby saving gas. This does assume however correct usage, in that the underlying `_value` is never\ndirectly accessed.", - "fullyImplemented": true, - "id": 7165, - "linearizedBaseContracts": [ - 7165 - ], - "name": "Counters", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 7122, - "libraryName": { - "contractScope": null, - "id": 7120, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6903, - "src": "691:8:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$6903", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "685:27:14", - "typeName": { - "id": 7121, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "704:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "canonicalName": "Counters.Counter", - "id": 7125, - "members": [ - { - "constant": false, - "id": 7124, - "name": "_value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7125, - "src": "1057:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7123, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1057:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Counter", - "nodeType": "StructDefinition", - "scope": 7165, - "src": "718:374:14", - "visibility": "public" - }, - { - "body": { - "id": 7135, - "nodeType": "Block", - "src": "1172:38:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7132, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7127, - "src": "1189:7:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 7133, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 7124, - "src": "1189:14:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7131, - "id": 7134, - "nodeType": "Return", - "src": "1182:21:14" - } - ] - }, - "documentation": null, - "id": 7136, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "current", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7128, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7127, - "name": "counter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7136, - "src": "1115:23:14", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "contractScope": null, - "id": 7126, - "name": "Counter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7125, - "src": "1115:7:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1114:25:14" - }, - "returnParameters": { - "id": 7131, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7130, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7136, - "src": "1163:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1163:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1162:9:14" - }, - "scope": 7165, - "src": "1098:112:14", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7147, - "nodeType": "Block", - "src": "1269:125:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7141, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7138, - "src": "1368:7:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 7143, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 7124, - "src": "1368:14:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 7144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1386:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1368:19:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7146, - "nodeType": "ExpressionStatement", - "src": "1368:19:14" - } - ] - }, - "documentation": null, - "id": 7148, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increment", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7139, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7138, - "name": "counter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7148, - "src": "1235:23:14", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "contractScope": null, - "id": 7137, - "name": "Counter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7125, - "src": "1235:7:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1234:25:14" - }, - "returnParameters": { - "id": 7140, - "nodeType": "ParameterList", - "parameters": [], - "src": "1269:0:14" - }, - "scope": 7165, - "src": "1216:178:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7163, - "nodeType": "Block", - "src": "1453:55:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7153, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7150, - "src": "1463:7:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 7155, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 7124, - "src": "1463:14:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 7159, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1499:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7156, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7150, - "src": "1480:7:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 7157, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 7124, - "src": "1480:14:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 6759, - "src": "1480:18:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1480:21:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1463:38:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7162, - "nodeType": "ExpressionStatement", - "src": "1463:38:14" - } - ] - }, - "documentation": null, - "id": 7164, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decrement", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7151, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7150, - "name": "counter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7164, - "src": "1419:23:14", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "contractScope": null, - "id": 7149, - "name": "Counter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7125, - "src": "1419:7:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1418:25:14" - }, - "returnParameters": { - "id": 7152, - "nodeType": "ParameterList", - "parameters": [], - "src": "1453:0:14" - }, - "scope": 7165, - "src": "1400:108:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 7166, - "src": "662:848:14" - } - ], - "src": "33:1478:14" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/utils/Counters.sol", - "exportedSymbols": { - "Counters": [ - 7165 - ] - }, - "id": 7166, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7118, - "literals": [ - "solidity", - "^", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:14" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "../math/SafeMath.sol", - "id": 7119, - "nodeType": "ImportDirective", - "scope": 7166, - "sourceUnit": 6904, - "src": "58:30:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@title Counters\n@author Matt Condon (@shrugs)\n@dev Provides counters that can only be incremented or decremented by one. This can be used e.g. to track the number\nof elements in a mapping, issuing ERC721 ids, or counting request ids.\n * Include with `using Counters for Counters.Counter;`\nSince it is not possible to overflow a 256 bit integer with increments of one, `increment` can skip the {SafeMath}\noverflow check, thereby saving gas. This does assume however correct usage, in that the underlying `_value` is never\ndirectly accessed.", - "fullyImplemented": true, - "id": 7165, - "linearizedBaseContracts": [ - 7165 - ], - "name": "Counters", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 7122, - "libraryName": { - "contractScope": null, - "id": 7120, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6903, - "src": "691:8:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$6903", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "685:27:14", - "typeName": { - "id": 7121, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "704:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "canonicalName": "Counters.Counter", - "id": 7125, - "members": [ - { - "constant": false, - "id": 7124, - "name": "_value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7125, - "src": "1057:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7123, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1057:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Counter", - "nodeType": "StructDefinition", - "scope": 7165, - "src": "718:374:14", - "visibility": "public" - }, - { - "body": { - "id": 7135, - "nodeType": "Block", - "src": "1172:38:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7132, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7127, - "src": "1189:7:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 7133, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 7124, - "src": "1189:14:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7131, - "id": 7134, - "nodeType": "Return", - "src": "1182:21:14" - } - ] - }, - "documentation": null, - "id": 7136, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "current", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7128, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7127, - "name": "counter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7136, - "src": "1115:23:14", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "contractScope": null, - "id": 7126, - "name": "Counter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7125, - "src": "1115:7:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1114:25:14" - }, - "returnParameters": { - "id": 7131, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7130, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7136, - "src": "1163:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1163:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1162:9:14" - }, - "scope": 7165, - "src": "1098:112:14", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7147, - "nodeType": "Block", - "src": "1269:125:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7141, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7138, - "src": "1368:7:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 7143, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 7124, - "src": "1368:14:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 7144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1386:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1368:19:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7146, - "nodeType": "ExpressionStatement", - "src": "1368:19:14" - } - ] - }, - "documentation": null, - "id": 7148, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increment", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7139, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7138, - "name": "counter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7148, - "src": "1235:23:14", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "contractScope": null, - "id": 7137, - "name": "Counter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7125, - "src": "1235:7:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1234:25:14" - }, - "returnParameters": { - "id": 7140, - "nodeType": "ParameterList", - "parameters": [], - "src": "1269:0:14" - }, - "scope": 7165, - "src": "1216:178:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7163, - "nodeType": "Block", - "src": "1453:55:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7153, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7150, - "src": "1463:7:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 7155, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 7124, - "src": "1463:14:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 7159, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1499:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7156, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7150, - "src": "1480:7:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 7157, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 7124, - "src": "1480:14:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 6759, - "src": "1480:18:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1480:21:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1463:38:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7162, - "nodeType": "ExpressionStatement", - "src": "1463:38:14" - } - ] - }, - "documentation": null, - "id": 7164, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decrement", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7151, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7150, - "name": "counter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7164, - "src": "1419:23:14", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "contractScope": null, - "id": 7149, - "name": "Counter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7125, - "src": "1419:7:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1418:25:14" - }, - "returnParameters": { - "id": 7152, - "nodeType": "ParameterList", - "parameters": [], - "src": "1453:0:14" - }, - "scope": 7165, - "src": "1400:108:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 7166, - "src": "662:848:14" - } - ], - "src": "33:1478:14" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.0", - "updatedAt": "2020-08-31T20:17:13.426Z", - "devdoc": { - "author": "Matt Condon (@shrugs)", - "details": "Provides counters that can only be incremented or decremented by one. This can be used e.g. to track the number of elements in a mapping, issuing ERC721 ids, or counting request ids. * Include with `using Counters for Counters.Counter;` Since it is not possible to overflow a 256 bit integer with increments of one, `increment` can skip the {SafeMath} overflow check, thereby saving gas. This does assume however correct usage, in that the underlying `_value` is never directly accessed.", - "methods": {}, - "title": "Counters" - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/app_/src/contracts/ERC165.json b/app_/src/contracts/ERC165.json deleted file mode 100644 index d26fdc6..0000000 --- a/app_/src/contracts/ERC165.json +++ /dev/null @@ -1,1285 +0,0 @@ -{ - "contractName": "ERC165", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. * This module is used through inheritance. It will make available the function `supportsInterface`. Derived contracts need only to register support for their own interfaces.\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract registering ERC165 interface ID.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]. * Time complexity O(1), guaranteed to always use less than 30 000 gas.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC165.sol\":{\"keccak256\":\"0xcb595039f64d3e7f1ae680b8105f8d4d2010b73bf62355ddd0c0de824d399742\",\"urls\":[\"bzz-raw://f2e08ce1bbb0ea2628db773b0d2402d399e211953f9574da17089ae465b048d8\",\"dweb:/ipfs/QmT1vHbq7tbwvFt9uRaCULyGmFgZ1h35ft9M4j1p86S6SU\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "// SPDX-License-Identifier: MIT\r\n\r\npragma solidity 0.6.2;\r\n\r\n/**\r\n * @dev Contract module of the ERC165 standard, as defined in the\r\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\r\n *\r\n * This module is used through inheritance. It will make available the\r\n * function `supportsInterface`. Derived contracts need only to register\r\n * support for their own interfaces.\r\n */\r\ncontract ERC165 {\r\n /*\r\n * bytes4(keccak256('supportsInterface(bytes4)')) == 0x01ffc9a7\r\n */\r\n bytes4 private constant _INTERFACE_ID_ERC165 = 0x01ffc9a7;\r\n\r\n /**\r\n * @dev a mapping of interface id to whether or not it is supported\r\n */\r\n mapping(bytes4 => bool) private _supportedInterfaces;\r\n\r\n /**\r\n * @dev Initializes the contract registering ERC165 interface ID.\r\n */\r\n constructor() internal {\r\n _registerInterface(_INTERFACE_ID_ERC165);\r\n }\r\n\r\n /**\r\n * @dev Returns true if this contract implements the interface defined by\r\n * `interfaceId`. See the corresponding\r\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section].\r\n *\r\n * Time complexity O(1), guaranteed to always use less than 30 000 gas.\r\n */\r\n function supportsInterface(bytes4 interfaceId)\r\n external\r\n view\r\n returns (bool)\r\n {\r\n return _supportedInterfaces[interfaceId];\r\n }\r\n\r\n /**\r\n * @dev registers the contract as an implementer of the interface defined by\r\n * `interfaceId`. Support of the actual ERC165 interface is automatic and\r\n * registering its interface ID is not required.\r\n */\r\n function _registerInterface(bytes4 interfaceId) internal {\r\n require(interfaceId != 0xffffffff, \"ERC165: invalid interface ID\");\r\n _supportedInterfaces[interfaceId] = true;\r\n }\r\n}\r\n", - "sourcePath": "C:\\Users\\Diego\\dev\\blockchain\\dapp-real-state\\contracts\\token\\ERC165.sol", - "ast": { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC165.sol", - "exportedSymbols": { - "ERC165": [ - 105 - ] - }, - "id": 106, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 58, - "literals": [ - "solidity", - "0.6", - ".2" - ], - "nodeType": "PragmaDirective", - "src": "35:22:1" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "@dev Contract module of the ERC165 standard, as defined in the\nhttps://eips.ethereum.org/EIPS/eip-165[EIP].\n\n * This module is used through inheritance. It will make available the\nfunction `supportsInterface`. Derived contracts need only to register\nsupport for their own interfaces.", - "fullyImplemented": true, - "id": 105, - "linearizedBaseContracts": [ - 105 - ], - "name": "ERC165", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 61, - "name": "_INTERFACE_ID_ERC165", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 105, - "src": "484:57:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 59, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "484:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 60, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "531:10:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 65, - "name": "_supportedInterfaces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 105, - "src": "641:52:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - }, - "typeName": { - "id": 64, - "keyType": { - "id": 62, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "649:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "Mapping", - "src": "641:23:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - }, - "valueType": { - "id": 63, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "659:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 72, - "nodeType": "Block", - "src": "814:59:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 69, - "name": "_INTERFACE_ID_ERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "844:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 68, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 104, - "src": "825:18:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 70, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "825:40:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 71, - "nodeType": "ExpressionStatement", - "src": "825:40:1" - } - ] - }, - "documentation": "@dev Initializes the contract registering ERC165 interface ID.", - "id": 73, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 66, - "nodeType": "ParameterList", - "parameters": [], - "src": "802:2:1" - }, - "returnParameters": { - "id": 67, - "nodeType": "ParameterList", - "parameters": [], - "src": "814:0:1" - }, - "scope": 105, - "src": "791:82:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 84, - "nodeType": "Block", - "src": "1307:59:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 80, - "name": "_supportedInterfaces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "1325:20:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - } - }, - "id": 82, - "indexExpression": { - "argumentTypes": null, - "id": 81, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75, - "src": "1346:11:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1325:33:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 79, - "id": 83, - "nodeType": "Return", - "src": "1318:40:1" - } - ] - }, - "documentation": "@dev Returns true if this contract implements the interface defined by\n`interfaceId`. See the corresponding\nhttps://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section].\n\n * Time complexity O(1), guaranteed to always use less than 30 000 gas.", - "functionSelector": "01ffc9a7", - "id": 85, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 76, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75, - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 85, - "src": "1226:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 74, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1226:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1225:20:1" - }, - "returnParameters": { - "id": 79, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 78, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 85, - "src": "1296:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 77, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1296:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1295:6:1" - }, - "scope": 105, - "src": "1199:167:1", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 103, - "nodeType": "Block", - "src": "1664:136:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 93, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 91, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87, - "src": "1683:11:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786666666666666666", - "id": 92, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1698:10:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967295_by_1", - "typeString": "int_const 4294967295" - }, - "value": "0xffffffff" - }, - "src": "1683:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433136353a20696e76616c696420696e74657266616365204944", - "id": 94, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1710:30:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6c41c6493fe77adda52bb5451c25d7ee1cf1f5960142820ac951c8a1bbc5d613", - "typeString": "literal_string \"ERC165: invalid interface ID\"" - }, - "value": "ERC165: invalid interface ID" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6c41c6493fe77adda52bb5451c25d7ee1cf1f5960142820ac951c8a1bbc5d613", - "typeString": "literal_string \"ERC165: invalid interface ID\"" - } - ], - "id": 90, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1675:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 95, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1675:66:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 96, - "nodeType": "ExpressionStatement", - "src": "1675:66:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 97, - "name": "_supportedInterfaces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "1752:20:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - } - }, - "id": 99, - "indexExpression": { - "argumentTypes": null, - "id": 98, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87, - "src": "1773:11:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1752:33:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1788:4:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1752:40:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 102, - "nodeType": "ExpressionStatement", - "src": "1752:40:1" - } - ] - }, - "documentation": "@dev registers the contract as an implementer of the interface defined by\n`interfaceId`. Support of the actual ERC165 interface is automatic and\nregistering its interface ID is not required.", - "id": 104, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_registerInterface", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 88, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 87, - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 104, - "src": "1635:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 86, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1635:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1634:20:1" - }, - "returnParameters": { - "id": 89, - "nodeType": "ParameterList", - "parameters": [], - "src": "1664:0:1" - }, - "scope": 105, - "src": "1607:193:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 106, - "src": "375:1428:1" - } - ], - "src": "35:1770:1" - }, - "legacyAST": { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC165.sol", - "exportedSymbols": { - "ERC165": [ - 105 - ] - }, - "id": 106, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 58, - "literals": [ - "solidity", - "0.6", - ".2" - ], - "nodeType": "PragmaDirective", - "src": "35:22:1" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "@dev Contract module of the ERC165 standard, as defined in the\nhttps://eips.ethereum.org/EIPS/eip-165[EIP].\n\n * This module is used through inheritance. It will make available the\nfunction `supportsInterface`. Derived contracts need only to register\nsupport for their own interfaces.", - "fullyImplemented": true, - "id": 105, - "linearizedBaseContracts": [ - 105 - ], - "name": "ERC165", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 61, - "name": "_INTERFACE_ID_ERC165", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 105, - "src": "484:57:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 59, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "484:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 60, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "531:10:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 65, - "name": "_supportedInterfaces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 105, - "src": "641:52:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - }, - "typeName": { - "id": 64, - "keyType": { - "id": 62, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "649:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "Mapping", - "src": "641:23:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - }, - "valueType": { - "id": 63, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "659:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 72, - "nodeType": "Block", - "src": "814:59:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 69, - "name": "_INTERFACE_ID_ERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "844:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 68, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 104, - "src": "825:18:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 70, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "825:40:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 71, - "nodeType": "ExpressionStatement", - "src": "825:40:1" - } - ] - }, - "documentation": "@dev Initializes the contract registering ERC165 interface ID.", - "id": 73, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 66, - "nodeType": "ParameterList", - "parameters": [], - "src": "802:2:1" - }, - "returnParameters": { - "id": 67, - "nodeType": "ParameterList", - "parameters": [], - "src": "814:0:1" - }, - "scope": 105, - "src": "791:82:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 84, - "nodeType": "Block", - "src": "1307:59:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 80, - "name": "_supportedInterfaces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "1325:20:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - } - }, - "id": 82, - "indexExpression": { - "argumentTypes": null, - "id": 81, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75, - "src": "1346:11:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1325:33:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 79, - "id": 83, - "nodeType": "Return", - "src": "1318:40:1" - } - ] - }, - "documentation": "@dev Returns true if this contract implements the interface defined by\n`interfaceId`. See the corresponding\nhttps://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section].\n\n * Time complexity O(1), guaranteed to always use less than 30 000 gas.", - "functionSelector": "01ffc9a7", - "id": 85, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 76, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75, - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 85, - "src": "1226:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 74, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1226:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1225:20:1" - }, - "returnParameters": { - "id": 79, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 78, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 85, - "src": "1296:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 77, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1296:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1295:6:1" - }, - "scope": 105, - "src": "1199:167:1", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 103, - "nodeType": "Block", - "src": "1664:136:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 93, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 91, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87, - "src": "1683:11:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786666666666666666", - "id": 92, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1698:10:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967295_by_1", - "typeString": "int_const 4294967295" - }, - "value": "0xffffffff" - }, - "src": "1683:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433136353a20696e76616c696420696e74657266616365204944", - "id": 94, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1710:30:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6c41c6493fe77adda52bb5451c25d7ee1cf1f5960142820ac951c8a1bbc5d613", - "typeString": "literal_string \"ERC165: invalid interface ID\"" - }, - "value": "ERC165: invalid interface ID" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6c41c6493fe77adda52bb5451c25d7ee1cf1f5960142820ac951c8a1bbc5d613", - "typeString": "literal_string \"ERC165: invalid interface ID\"" - } - ], - "id": 90, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1675:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 95, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1675:66:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 96, - "nodeType": "ExpressionStatement", - "src": "1675:66:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 97, - "name": "_supportedInterfaces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "1752:20:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - } - }, - "id": 99, - "indexExpression": { - "argumentTypes": null, - "id": 98, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87, - "src": "1773:11:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1752:33:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1788:4:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1752:40:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 102, - "nodeType": "ExpressionStatement", - "src": "1752:40:1" - } - ] - }, - "documentation": "@dev registers the contract as an implementer of the interface defined by\n`interfaceId`. Support of the actual ERC165 interface is automatic and\nregistering its interface ID is not required.", - "id": 104, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_registerInterface", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 88, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 87, - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 104, - "src": "1635:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 86, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1635:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1634:20:1" - }, - "returnParameters": { - "id": 89, - "nodeType": "ParameterList", - "parameters": [], - "src": "1664:0:1" - }, - "scope": 105, - "src": "1607:193:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 106, - "src": "375:1428:1" - } - ], - "src": "35:1770:1" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.0", - "updatedAt": "2020-08-31T20:17:13.033Z", - "devdoc": { - "details": "Contract module of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. * This module is used through inheritance. It will make available the function `supportsInterface`. Derived contracts need only to register support for their own interfaces.", - "methods": { - "constructor": { - "details": "Initializes the contract registering ERC165 interface ID." - }, - "supportsInterface(bytes4)": { - "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]. * Time complexity O(1), guaranteed to always use less than 30 000 gas." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/app_/src/contracts/ERC20.json b/app_/src/contracts/ERC20.json deleted file mode 100644 index 34f66f4..0000000 --- a/app_/src/contracts/ERC20.json +++ /dev/null @@ -1,11382 +0,0 @@ -{ - "contractName": "ERC20", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. * This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20Mintable}. * TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. * We have followed general OpenZeppelin guidelines: functions revert instead of returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. * Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for `sender`'s tokens of at least `amount`.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/GSN/Context.sol\":{\"keccak256\":\"0x90a3995645af7562d84b9d69363ffa5ae7217714ab61e951bf7bc450f40e4061\",\"urls\":[\"bzz-raw://216ef9d6b614db4eb46970b4e84903f2534a45572dd30a79f0041f1a5830f436\",\"dweb:/ipfs/QmNPrJ4MWKUAWzKXpUqeyKRUfosaoANZAqXgvepdrCwZAG\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xb15af804e2bc97db51e4e103f13de9fe13f87e6b835d7a88c897966c0e58506e\",\"urls\":[\"bzz-raw://1e8cff8437557fc915a3bed968fcd8f2df9809599e665ef69c2c9ce628548055\",\"dweb:/ipfs/QmP5spYP8vs2jvLF8zNrXUbqB79hMsoEvMHiLcBxerWKcm\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}", - "bytecode": "0x6080604052610e3a806100136000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a08231146101fd578063a457c2d714610255578063a9059cbb146102bb578063dd62ed3e1461032157610088565b8063095ea7b31461008d57806318160ddd146100f357806323b872dd146101115780633950935114610197575b600080fd5b6100d9600480360360408110156100a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610399565b604051808215151515815260200191505060405180910390f35b6100fb6103b7565b6040518082815260200191505060405180910390f35b61017d6004803603606081101561012757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103c1565b604051808215151515815260200191505060405180910390f35b6101e3600480360360408110156101ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061049a565b604051808215151515815260200191505060405180910390f35b61023f6004803603602081101561021357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061054d565b6040518082815260200191505060405180910390f35b6102a16004803603604081101561026b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610595565b604051808215151515815260200191505060405180910390f35b610307600480360360408110156102d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610662565b604051808215151515815260200191505060405180910390f35b6103836004803603604081101561033757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610680565b6040518082815260200191505060405180910390f35b60006103ad6103a6610707565b848461070f565b6001905092915050565b6000600254905090565b60006103ce848484610906565b61048f846103da610707565b61048a85604051806060016040528060288152602001610d7060289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610440610707565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbc9092919063ffffffff16565b61070f565b600190509392505050565b60006105436104a7610707565b8461053e85600160006104b8610707565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c7c90919063ffffffff16565b61070f565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006106586105a2610707565b8461065385604051806060016040528060258152602001610de160259139600160006105cc610707565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbc9092919063ffffffff16565b61070f565b6001905092915050565b600061067661066f610707565b8484610906565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610795576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180610dbd6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561081b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610d286022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561098c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610d986025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610d056023913960400191505060405180910390fd5b610a7d81604051806060016040528060268152602001610d4a602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbc9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b10816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c7c90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610c69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c2e578082015181840152602081019050610c13565b50505050905090810190601f168015610c5b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610cfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158207736fa7104112485a6c79b3660752a17a3db7c7de3702c402a3fe84073352d2d64736f6c63430005100032", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a08231146101fd578063a457c2d714610255578063a9059cbb146102bb578063dd62ed3e1461032157610088565b8063095ea7b31461008d57806318160ddd146100f357806323b872dd146101115780633950935114610197575b600080fd5b6100d9600480360360408110156100a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610399565b604051808215151515815260200191505060405180910390f35b6100fb6103b7565b6040518082815260200191505060405180910390f35b61017d6004803603606081101561012757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103c1565b604051808215151515815260200191505060405180910390f35b6101e3600480360360408110156101ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061049a565b604051808215151515815260200191505060405180910390f35b61023f6004803603602081101561021357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061054d565b6040518082815260200191505060405180910390f35b6102a16004803603604081101561026b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610595565b604051808215151515815260200191505060405180910390f35b610307600480360360408110156102d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610662565b604051808215151515815260200191505060405180910390f35b6103836004803603604081101561033757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610680565b6040518082815260200191505060405180910390f35b60006103ad6103a6610707565b848461070f565b6001905092915050565b6000600254905090565b60006103ce848484610906565b61048f846103da610707565b61048a85604051806060016040528060288152602001610d7060289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610440610707565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbc9092919063ffffffff16565b61070f565b600190509392505050565b60006105436104a7610707565b8461053e85600160006104b8610707565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c7c90919063ffffffff16565b61070f565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006106586105a2610707565b8461065385604051806060016040528060258152602001610de160259139600160006105cc610707565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbc9092919063ffffffff16565b61070f565b6001905092915050565b600061067661066f610707565b8484610906565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610795576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180610dbd6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561081b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610d286022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561098c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610d986025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610d056023913960400191505060405180910390fd5b610a7d81604051806060016040528060268152602001610d4a602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbc9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b10816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c7c90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610c69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c2e578082015181840152602081019050610c13565b50505050905090810190601f168015610c5b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610cfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158207736fa7104112485a6c79b3660752a17a3db7c7de3702c402a3fe84073352d2d64736f6c63430005100032", - "sourceMap": "1268:6823:6:-;;;;;;;;;", - "deployedSourceMap": "1268:6823:6:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1268:6823:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2500:149;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2500:149:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1559:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3107:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3107:300:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3802:207;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3802:207:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1706:108;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1706:108:6;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4496:258;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4496:258:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2017:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2017:155:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2230:132;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2230:132:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2500:149;2566:4;2582:39;2591:12;:10;:12::i;:::-;2605:7;2614:6;2582:8;:39::i;:::-;2638:4;2631:11;;2500:149;;;;:::o;1559:89::-;1603:7;1629:12;;1622:19;;1559:89;:::o;3107:300::-;3196:4;3212:36;3222:6;3230:9;3241:6;3212:9;:36::i;:::-;3258:121;3267:6;3275:12;:10;:12::i;:::-;3289:89;3327:6;3289:89;;;;;;;;;;;;;;;;;:11;:19;3301:6;3289:19;;;;;;;;;;;;;;;:33;3309:12;:10;:12::i;:::-;3289:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3258:8;:121::i;:::-;3396:4;3389:11;;3107:300;;;;;:::o;3802:207::-;3882:4;3898:83;3907:12;:10;:12::i;:::-;3921:7;3930:50;3969:10;3930:11;:25;3942:12;:10;:12::i;:::-;3930:25;;;;;;;;;;;;;;;:34;3956:7;3930:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;3898:8;:83::i;:::-;3998:4;3991:11;;3802:207;;;;:::o;1706:108::-;1763:7;1789:9;:18;1799:7;1789:18;;;;;;;;;;;;;;;;1782:25;;1706:108;;;:::o;4496:258::-;4581:4;4597:129;4606:12;:10;:12::i;:::-;4620:7;4629:96;4668:15;4629:96;;;;;;;;;;;;;;;;;:11;:25;4641:12;:10;:12::i;:::-;4629:25;;;;;;;;;;;;;;;:34;4655:7;4629:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;4597:8;:129::i;:::-;4743:4;4736:11;;4496:258;;;;:::o;2017:155::-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;:::-;2161:4;2154:11;;2017:155;;;;:::o;2230:132::-;2302:7;2328:11;:18;2340:5;2328:18;;;;;;;;;;;;;;;:27;2347:7;2328:27;;;;;;;;;;;;;;;;2321:34;;2230:132;;;;:::o;788:96:4:-;833:15;867:10;860:17;;788:96;:::o;7350:332:6:-;7460:1;7443:19;;:5;:19;;;;7435:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7540:1;7521:21;;:7;:21;;;;7513:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7622:6;7592:11;:18;7604:5;7592:18;;;;;;;;;;;;;;;:27;7611:7;7592:27;;;;;;;;;;;;;;;:36;;;;7659:7;7643:32;;7652:5;7643:32;;;7668:6;7643:32;;;;;;;;;;;;;;;;;;7350:332;;;:::o;5228:464::-;5343:1;5325:20;;:6;:20;;;;5317:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5426:1;5405:23;;:9;:23;;;;5397:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5499;5521:6;5499:71;;;;;;;;;;;;;;;;;:9;:17;5509:6;5499:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;5479:9;:17;5489:6;5479:17;;;;;;;;;;;;;;;:91;;;;5603:32;5628:6;5603:9;:20;5613:9;5603:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5580:9;:20;5590:9;5580:20;;;;;;;;;;;;;;;:55;;;;5667:9;5650:35;;5659:6;5650:35;;;5678:6;5650:35;;;;;;;;;;;;;;;;;;5228:464;;;:::o;1732:187:5:-;1818:7;1850:1;1845;:6;;1853:12;1837:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1837:29:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:9;1892:1;1888;:5;1876:17;;1911:1;1904:8;;;1732:187;;;;;:::o;834:176::-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o", - "source": "pragma solidity ^0.5.0;\n\nimport \"../../GSN/Context.sol\";\nimport \"./IERC20.sol\";\nimport \"../../math/SafeMath.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n * For a generic mechanism see {ERC20Mintable}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * We have followed general OpenZeppelin guidelines: functions revert instead\n * of returning `false` on failure. This behavior is nonetheless conventional\n * and does not conflict with the expectations of ERC20 applications.\n *\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n * This allows applications to reconstruct the allowance for all accounts just\n * by listening to said events. Other implementations of the EIP may not emit\n * these events, as it isn't required by the specification.\n *\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n * functions have been added to mitigate the well-known issues around setting\n * allowances. See {IERC20-approve}.\n */\ncontract ERC20 is Context, IERC20 {\n using SafeMath for uint256;\n\n mapping (address => uint256) private _balances;\n\n mapping (address => mapping (address => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n /**\n * @dev See {IERC20-totalSupply}.\n */\n function totalSupply() public view returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `recipient` cannot be the zero address.\n * - the caller must have a balance of at least `amount`.\n */\n function transfer(address recipient, uint256 amount) public returns (bool) {\n _transfer(_msgSender(), recipient, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 amount) public returns (bool) {\n _approve(_msgSender(), spender, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Emits an {Approval} event indicating the updated allowance. This is not\n * required by the EIP. See the note at the beginning of {ERC20};\n *\n * Requirements:\n * - `sender` and `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n * - the caller must have allowance for `sender`'s tokens of at least\n * `amount`.\n */\n function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {\n _transfer(sender, recipient, amount);\n _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, \"ERC20: transfer amount exceeds allowance\"));\n return true;\n }\n\n /**\n * @dev Atomically increases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {\n _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));\n return true;\n }\n\n /**\n * @dev Atomically decreases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `spender` must have allowance for the caller of at least\n * `subtractedValue`.\n */\n function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {\n _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, \"ERC20: decreased allowance below zero\"));\n return true;\n }\n\n /**\n * @dev Moves tokens `amount` from `sender` to `recipient`.\n *\n * This is internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * Requirements:\n *\n * - `sender` cannot be the zero address.\n * - `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n */\n function _transfer(address sender, address recipient, uint256 amount) internal {\n require(sender != address(0), \"ERC20: transfer from the zero address\");\n require(recipient != address(0), \"ERC20: transfer to the zero address\");\n\n _balances[sender] = _balances[sender].sub(amount, \"ERC20: transfer amount exceeds balance\");\n _balances[recipient] = _balances[recipient].add(amount);\n emit Transfer(sender, recipient, amount);\n }\n\n /** @dev Creates `amount` tokens and assigns them to `account`, increasing\n * the total supply.\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * Requirements\n *\n * - `to` cannot be the zero address.\n */\n function _mint(address account, uint256 amount) internal {\n require(account != address(0), \"ERC20: mint to the zero address\");\n\n _totalSupply = _totalSupply.add(amount);\n _balances[account] = _balances[account].add(amount);\n emit Transfer(address(0), account, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, reducing the\n * total supply.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * Requirements\n *\n * - `account` cannot be the zero address.\n * - `account` must have at least `amount` tokens.\n */\n function _burn(address account, uint256 amount) internal {\n require(account != address(0), \"ERC20: burn from the zero address\");\n\n _balances[account] = _balances[account].sub(amount, \"ERC20: burn amount exceeds balance\");\n _totalSupply = _totalSupply.sub(amount);\n emit Transfer(account, address(0), amount);\n }\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.\n *\n * This is internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n */\n function _approve(address owner, address spender, uint256 amount) internal {\n require(owner != address(0), \"ERC20: approve from the zero address\");\n require(spender != address(0), \"ERC20: approve to the zero address\");\n\n _allowances[owner][spender] = amount;\n emit Approval(owner, spender, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`.`amount` is then deducted\n * from the caller's allowance.\n *\n * See {_burn} and {_approve}.\n */\n function _burnFrom(address account, uint256 amount) internal {\n _burn(account, amount);\n _approve(account, _msgSender(), _allowances[account][_msgSender()].sub(amount, \"ERC20: burn amount exceeds allowance\"));\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "exportedSymbols": { - "ERC20": [ - 835 - ] - }, - "id": 836, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 432, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:6" - }, - { - "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", - "file": "../../GSN/Context.sol", - "id": 433, - "nodeType": "ImportDirective", - "scope": 836, - "sourceUnit": 244, - "src": "25:31:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "./IERC20.sol", - "id": 434, - "nodeType": "ImportDirective", - "scope": 836, - "sourceUnit": 905, - "src": "57:22:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "../../math/SafeMath.sol", - "id": 435, - "nodeType": "ImportDirective", - "scope": 836, - "sourceUnit": 431, - "src": "80:33:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 436, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 243, - "src": "1286:7:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$243", - "typeString": "contract Context" - } - }, - "id": 437, - "nodeType": "InheritanceSpecifier", - "src": "1286:7:6" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 438, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 904, - "src": "1295:6:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$904", - "typeString": "contract IERC20" - } - }, - "id": 439, - "nodeType": "InheritanceSpecifier", - "src": "1295:6:6" - } - ], - "contractDependencies": [ - 243, - 904 - ], - "contractKind": "contract", - "documentation": "@dev Implementation of the {IERC20} interface.\n * This implementation is agnostic to the way tokens are created. This means\nthat a supply mechanism has to be added in a derived contract using {_mint}.\nFor a generic mechanism see {ERC20Mintable}.\n * TIP: For a detailed writeup see our guide\nhttps://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\nto implement supply mechanisms].\n * We have followed general OpenZeppelin guidelines: functions revert instead\nof returning `false` on failure. This behavior is nonetheless conventional\nand does not conflict with the expectations of ERC20 applications.\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\nThis allows applications to reconstruct the allowance for all accounts just\nby listening to said events. Other implementations of the EIP may not emit\nthese events, as it isn't required by the specification.\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\nfunctions have been added to mitigate the well-known issues around setting\nallowances. See {IERC20-approve}.", - "fullyImplemented": true, - "id": 835, - "linearizedBaseContracts": [ - 835, - 904, - 243 - ], - "name": "ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 442, - "libraryName": { - "contractScope": null, - "id": 440, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 430, - "src": "1314:8:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$430", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "1308:27:6", - "typeName": { - "id": 441, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1327:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 446, - "name": "_balances", - "nodeType": "VariableDeclaration", - "scope": 835, - "src": "1341:46:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 445, - "keyType": { - "id": 443, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1350:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1341:28:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 444, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1361:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 452, - "name": "_allowances", - "nodeType": "VariableDeclaration", - "scope": 835, - "src": "1394:69:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 451, - "keyType": { - "id": 447, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1403:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1394:49:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 450, - "keyType": { - "id": 448, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1423:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1414:28:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 449, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1434:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 454, - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "scope": 835, - "src": "1470:28:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 453, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1470:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 461, - "nodeType": "Block", - "src": "1612:36:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 459, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 454, - "src": "1629:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 458, - "id": 460, - "nodeType": "Return", - "src": "1622:19:6" - } - ] - }, - "documentation": "@dev See {IERC20-totalSupply}.", - "id": 462, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 455, - "nodeType": "ParameterList", - "parameters": [], - "src": "1579:2:6" - }, - "returnParameters": { - "id": 458, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 457, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "1603:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 456, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1603:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1602:9:6" - }, - "scope": 835, - "src": "1559:89:6", - "stateMutability": "view", - "superFunction": 842, - "visibility": "public" - }, - { - "body": { - "id": 473, - "nodeType": "Block", - "src": "1772:42:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 469, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "1789:9:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 471, - "indexExpression": { - "argumentTypes": null, - "id": 470, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "1799:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1789:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 468, - "id": 472, - "nodeType": "Return", - "src": "1782:25:6" - } - ] - }, - "documentation": "@dev See {IERC20-balanceOf}.", - "id": 474, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 465, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 464, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 474, - "src": "1725:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 463, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1725:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1724:17:6" - }, - "returnParameters": { - "id": 468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 467, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 474, - "src": "1763:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1763:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1762:9:6" - }, - "scope": 835, - "src": "1706:108:6", - "stateMutability": "view", - "superFunction": 849, - "visibility": "public" - }, - { - "body": { - "id": 492, - "nodeType": "Block", - "src": "2092:80:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 484, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "2112:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2112:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 486, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 476, - "src": "2126:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 487, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 478, - "src": "2137:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 483, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 676, - "src": "2102:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2102:42:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 489, - "nodeType": "ExpressionStatement", - "src": "2102:42:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 490, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2161:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 482, - "id": 491, - "nodeType": "Return", - "src": "2154:11:6" - } - ] - }, - "documentation": "@dev See {IERC20-transfer}.\n * Requirements:\n * - `recipient` cannot be the zero address.\n- the caller must have a balance of at least `amount`.", - "id": 493, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 479, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 476, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 493, - "src": "2035:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 475, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2035:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 478, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 493, - "src": "2054:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 477, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2054:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2034:35:6" - }, - "returnParameters": { - "id": 482, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 481, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 493, - "src": "2086:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 480, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2086:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2085:6:6" - }, - "scope": 835, - "src": "2017:155:6", - "stateMutability": "nonpayable", - "superFunction": 858, - "visibility": "public" - }, - { - "body": { - "id": 508, - "nodeType": "Block", - "src": "2311:51:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 502, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 452, - "src": "2328:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 504, - "indexExpression": { - "argumentTypes": null, - "id": 503, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "2340:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2328:18:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 506, - "indexExpression": { - "argumentTypes": null, - "id": 505, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 497, - "src": "2347:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2328:27:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 501, - "id": 507, - "nodeType": "Return", - "src": "2321:34:6" - } - ] - }, - "documentation": "@dev See {IERC20-allowance}.", - "id": 509, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 498, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 495, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 509, - "src": "2249:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 494, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2249:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 497, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 509, - "src": "2264:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 496, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2264:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2248:32:6" - }, - "returnParameters": { - "id": 501, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 500, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 509, - "src": "2302:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 499, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2302:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2301:9:6" - }, - "scope": 835, - "src": "2230:132:6", - "stateMutability": "view", - "superFunction": 867, - "visibility": "public" - }, - { - "body": { - "id": 527, - "nodeType": "Block", - "src": "2572:77:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 519, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "2591:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2591:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 521, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "2605:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 522, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "2614:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 518, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "2582:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2582:39:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 524, - "nodeType": "ExpressionStatement", - "src": "2582:39:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 525, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2638:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 517, - "id": 526, - "nodeType": "Return", - "src": "2631:11:6" - } - ] - }, - "documentation": "@dev See {IERC20-approve}.\n * Requirements:\n * - `spender` cannot be the zero address.", - "id": 528, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 514, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 511, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 528, - "src": "2517:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 510, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2517:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 513, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 528, - "src": "2534:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 512, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2534:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2516:33:6" - }, - "returnParameters": { - "id": 517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 516, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 528, - "src": "2566:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 515, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2566:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2565:6:6" - }, - "scope": 835, - "src": "2500:149:6", - "stateMutability": "nonpayable", - "superFunction": 876, - "visibility": "public" - }, - { - "body": { - "id": 563, - "nodeType": "Block", - "src": "3202:205:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 540, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 530, - "src": "3222:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 541, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 532, - "src": "3230:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 542, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 534, - "src": "3241:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 539, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 676, - "src": "3212:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3212:36:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 544, - "nodeType": "ExpressionStatement", - "src": "3212:36:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 546, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 530, - "src": "3267:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 547, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "3275:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3275:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 556, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 534, - "src": "3327:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 557, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3335:42:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", - "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\"" - }, - "value": "ERC20: transfer amount exceeds allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", - "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 549, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 452, - "src": "3289:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 551, - "indexExpression": { - "argumentTypes": null, - "id": 550, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 530, - "src": "3301:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3289:19:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 554, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 552, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "3309:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3309:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3289:33:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 313, - "src": "3289:37:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3289:89:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 545, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "3258:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3258:121:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 560, - "nodeType": "ExpressionStatement", - "src": "3258:121:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 561, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3396:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 538, - "id": 562, - "nodeType": "Return", - "src": "3389:11:6" - } - ] - }, - "documentation": "@dev See {IERC20-transferFrom}.\n * Emits an {Approval} event indicating the updated allowance. This is not\nrequired by the EIP. See the note at the beginning of {ERC20};\n * Requirements:\n- `sender` and `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.\n- the caller must have allowance for `sender`'s tokens of at least\n`amount`.", - "id": 564, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 535, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 530, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 564, - "src": "3129:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 529, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3129:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 532, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 564, - "src": "3145:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 531, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3145:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 534, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 564, - "src": "3164:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3164:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3128:51:6" - }, - "returnParameters": { - "id": 538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 537, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 564, - "src": "3196:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 536, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3196:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3195:6:6" - }, - "scope": 835, - "src": "3107:300:6", - "stateMutability": "nonpayable", - "superFunction": 887, - "visibility": "public" - }, - { - "body": { - "id": 590, - "nodeType": "Block", - "src": "3888:121:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 574, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "3907:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3907:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 576, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "3921:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 584, - "name": "addedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 568, - "src": "3969:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 577, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 452, - "src": "3930:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 580, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 578, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "3942:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3942:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3930:25:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 582, - "indexExpression": { - "argumentTypes": null, - "id": 581, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "3956:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3930:34:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 270, - "src": "3930:38:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3930:50:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 573, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "3898:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3898:83:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 587, - "nodeType": "ExpressionStatement", - "src": "3898:83:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 588, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3998:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 572, - "id": 589, - "nodeType": "Return", - "src": "3991:11:6" - } - ] - }, - "documentation": "@dev Atomically increases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.", - "id": 591, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increaseAllowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 566, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 591, - "src": "3829:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 565, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3829:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 568, - "name": "addedValue", - "nodeType": "VariableDeclaration", - "scope": 591, - "src": "3846:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 567, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3846:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3828:37:6" - }, - "returnParameters": { - "id": 572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 571, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 591, - "src": "3882:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 570, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3882:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3881:6:6" - }, - "scope": 835, - "src": "3802:207:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 618, - "nodeType": "Block", - "src": "4587:167:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 601, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "4606:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4606:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 603, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 593, - "src": "4620:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 611, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 595, - "src": "4668:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4685:39:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - }, - "value": "ERC20: decreased allowance below zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 604, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 452, - "src": "4629:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 607, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 605, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "4641:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4641:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4629:25:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 609, - "indexExpression": { - "argumentTypes": null, - "id": 608, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 593, - "src": "4655:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4629:34:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 313, - "src": "4629:38:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4629:96:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 600, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "4597:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:129:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 615, - "nodeType": "ExpressionStatement", - "src": "4597:129:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 616, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4743:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 599, - "id": 617, - "nodeType": "Return", - "src": "4736:11:6" - } - ] - }, - "documentation": "@dev Atomically decreases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.\n- `spender` must have allowance for the caller of at least\n`subtractedValue`.", - "id": 619, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreaseAllowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 596, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 593, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 619, - "src": "4523:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 592, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4523:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 595, - "name": "subtractedValue", - "nodeType": "VariableDeclaration", - "scope": 619, - "src": "4540:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 594, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4540:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4522:42:6" - }, - "returnParameters": { - "id": 599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 598, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 619, - "src": "4581:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 597, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4581:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4580:6:6" - }, - "scope": 835, - "src": "4496:258:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 675, - "nodeType": "Block", - "src": "5307:385:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 629, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "5325:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5343:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5335:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5335:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5325:20:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 634, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5347:39:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - }, - "value": "ERC20: transfer from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - } - ], - "id": 628, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 922, - 923 - ], - "referencedDeclaration": 923, - "src": "5317:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5317:70:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 636, - "nodeType": "ExpressionStatement", - "src": "5317:70:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 638, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 623, - "src": "5405:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5426:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5418:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5418:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5405:23:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5430:37:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - }, - "value": "ERC20: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - } - ], - "id": 637, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 922, - 923 - ], - "referencedDeclaration": 923, - "src": "5397:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5397:71:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 645, - "nodeType": "ExpressionStatement", - "src": "5397:71:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 646, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "5479:9:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 648, - "indexExpression": { - "argumentTypes": null, - "id": 647, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "5489:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5479:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 653, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 625, - "src": "5521:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 654, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5529:40:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - }, - "value": "ERC20: transfer amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 649, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "5499:9:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 651, - "indexExpression": { - "argumentTypes": null, - "id": 650, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "5509:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5499:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 313, - "src": "5499:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5499:71:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5479:91:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 657, - "nodeType": "ExpressionStatement", - "src": "5479:91:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 658, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "5580:9:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 660, - "indexExpression": { - "argumentTypes": null, - "id": 659, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 623, - "src": "5590:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5580:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 665, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 625, - "src": "5628:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 661, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "5603:9:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 663, - "indexExpression": { - "argumentTypes": null, - "id": 662, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 623, - "src": "5613:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5603:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 270, - "src": "5603:24:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5603:32:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5580:55:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 668, - "nodeType": "ExpressionStatement", - "src": "5580:55:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 670, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "5659:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 671, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 623, - "src": "5667:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 672, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 625, - "src": "5678:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 669, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 895, - "src": "5650:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5650:35:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 674, - "nodeType": "EmitStatement", - "src": "5645:40:6" - } - ] - }, - "documentation": "@dev Moves tokens `amount` from `sender` to `recipient`.\n * This is internal function is equivalent to {transfer}, and can be used to\ne.g. implement automatic token fees, slashing mechanisms, etc.\n * Emits a {Transfer} event.\n * Requirements:\n * - `sender` cannot be the zero address.\n- `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.", - "id": 676, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 621, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 676, - "src": "5247:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 620, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5247:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 623, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 676, - "src": "5263:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5263:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 625, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 676, - "src": "5282:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5282:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5246:51:6" - }, - "returnParameters": { - "id": 627, - "nodeType": "ParameterList", - "parameters": [], - "src": "5307:0:6" - }, - "scope": 835, - "src": "5228:464:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 718, - "nodeType": "Block", - "src": "6019:245:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 684, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 678, - "src": "6037:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6056:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 685, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6048:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 687, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6048:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6037:21:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 689, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6060:33:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - }, - "value": "ERC20: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - } - ], - "id": 683, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 922, - 923 - ], - "referencedDeclaration": 923, - "src": "6029:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6029:65:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 691, - "nodeType": "ExpressionStatement", - "src": "6029:65:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 692, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 454, - "src": "6105:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 695, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 680, - "src": "6137:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 693, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 454, - "src": "6120:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 270, - "src": "6120:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6120:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6105:39:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 698, - "nodeType": "ExpressionStatement", - "src": "6105:39:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 699, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "6154:9:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 701, - "indexExpression": { - "argumentTypes": null, - "id": 700, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 678, - "src": "6164:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6154:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 706, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 680, - "src": "6198:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 702, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "6175:9:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 704, - "indexExpression": { - "argumentTypes": null, - "id": 703, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 678, - "src": "6185:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6175:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 270, - "src": "6175:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6175:30:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6154:51:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 709, - "nodeType": "ExpressionStatement", - "src": "6154:51:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 712, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6237:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 711, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6229:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 713, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6229:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 714, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 678, - "src": "6241:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 715, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 680, - "src": "6250:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 710, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 895, - "src": "6220:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6220:37:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 717, - "nodeType": "EmitStatement", - "src": "6215:42:6" - } - ] - }, - "documentation": "@dev Creates `amount` tokens and assigns them to `account`, increasing\nthe total supply.\n * Emits a {Transfer} event with `from` set to the zero address.\n * Requirements\n * - `to` cannot be the zero address.", - "id": 719, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 681, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 678, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 719, - "src": "5977:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 677, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5977:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 680, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 719, - "src": "5994:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5994:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5976:33:6" - }, - "returnParameters": { - "id": 682, - "nodeType": "ParameterList", - "parameters": [], - "src": "6019:0:6" - }, - "scope": 835, - "src": "5962:302:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 762, - "nodeType": "Block", - "src": "6640:285:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 727, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "6658:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 729, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6677:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6669:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 730, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6669:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6658:21:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6681:35:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - }, - "value": "ERC20: burn from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - } - ], - "id": 726, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 922, - 923 - ], - "referencedDeclaration": 923, - "src": "6650:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6650:67:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 734, - "nodeType": "ExpressionStatement", - "src": "6650:67:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 735, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "6728:9:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 737, - "indexExpression": { - "argumentTypes": null, - "id": 736, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "6738:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6728:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 742, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "6772:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6780:36:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - }, - "value": "ERC20: burn amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 738, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "6749:9:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 740, - "indexExpression": { - "argumentTypes": null, - "id": 739, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "6759:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6749:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 313, - "src": "6749:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6749:68:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6728:89:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 746, - "nodeType": "ExpressionStatement", - "src": "6728:89:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 747, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 454, - "src": "6827:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 750, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "6859:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 748, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 454, - "src": "6842:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 286, - "src": "6842:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6842:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6827:39:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 753, - "nodeType": "ExpressionStatement", - "src": "6827:39:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 755, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "6890:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 757, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6907:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6899:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6899:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 759, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "6911:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 754, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 895, - "src": "6881:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6881:37:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 761, - "nodeType": "EmitStatement", - "src": "6876:42:6" - } - ] - }, - "documentation": "@dev Destroys `amount` tokens from `account`, reducing the\ntotal supply.\n * Emits a {Transfer} event with `to` set to the zero address.\n * Requirements\n * - `account` cannot be the zero address.\n- `account` must have at least `amount` tokens.", - "id": 763, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 724, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 721, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 763, - "src": "6598:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6598:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 723, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 763, - "src": "6615:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 722, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6615:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6597:33:6" - }, - "returnParameters": { - "id": 725, - "nodeType": "ParameterList", - "parameters": [], - "src": "6640:0:6" - }, - "scope": 835, - "src": "6583:342:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 804, - "nodeType": "Block", - "src": "7425:257:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 773, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 765, - "src": "7443:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7460:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7452:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7452:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7443:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7464:38:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - }, - "value": "ERC20: approve from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - } - ], - "id": 772, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 922, - 923 - ], - "referencedDeclaration": 923, - "src": "7435:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7435:68:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 780, - "nodeType": "ExpressionStatement", - "src": "7435:68:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 782, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 767, - "src": "7521:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7540:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7532:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 785, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7532:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7521:21:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 787, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7544:36:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - }, - "value": "ERC20: approve to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - } - ], - "id": 781, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 922, - 923 - ], - "referencedDeclaration": 923, - "src": "7513:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7513:68:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 789, - "nodeType": "ExpressionStatement", - "src": "7513:68:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 790, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 452, - "src": "7592:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 793, - "indexExpression": { - "argumentTypes": null, - "id": 791, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 765, - "src": "7604:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7592:18:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 794, - "indexExpression": { - "argumentTypes": null, - "id": 792, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 767, - "src": "7611:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7592:27:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 795, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "7622:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7592:36:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 797, - "nodeType": "ExpressionStatement", - "src": "7592:36:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 799, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 765, - "src": "7652:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 800, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 767, - "src": "7659:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 801, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "7668:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 798, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 903, - "src": "7643:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7643:32:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 803, - "nodeType": "EmitStatement", - "src": "7638:37:6" - } - ] - }, - "documentation": "@dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.\n * This is internal function is equivalent to `approve`, and can be used to\ne.g. set automatic allowances for certain subsystems, etc.\n * Emits an {Approval} event.\n * Requirements:\n * - `owner` cannot be the zero address.\n- `spender` cannot be the zero address.", - "id": 805, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 770, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 765, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 805, - "src": "7368:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 764, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7368:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 767, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 805, - "src": "7383:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 766, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7383:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 769, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 805, - "src": "7400:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7400:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7367:48:6" - }, - "returnParameters": { - "id": 771, - "nodeType": "ParameterList", - "parameters": [], - "src": "7425:0:6" - }, - "scope": 835, - "src": "7350:332:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 833, - "nodeType": "Block", - "src": "7921:168:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 813, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 807, - "src": "7937:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 814, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 809, - "src": "7946:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 812, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 763, - "src": "7931:5:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7931:22:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 816, - "nodeType": "ExpressionStatement", - "src": "7931:22:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 818, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 807, - "src": "7972:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 819, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "7981:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7981:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 828, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 809, - "src": "8034:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8042:38:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a287c363786607a1457a2d9d12fa61c0073358e02d76b4035fc2c2d86a19c0db", - "typeString": "literal_string \"ERC20: burn amount exceeds allowance\"" - }, - "value": "ERC20: burn amount exceeds allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_a287c363786607a1457a2d9d12fa61c0073358e02d76b4035fc2c2d86a19c0db", - "typeString": "literal_string \"ERC20: burn amount exceeds allowance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 821, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 452, - "src": "7995:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 823, - "indexExpression": { - "argumentTypes": null, - "id": 822, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 807, - "src": "8007:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7995:20:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 826, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 824, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "8016:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8016:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7995:34:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 313, - "src": "7995:38:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7995:86:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 817, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "7963:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7963:119:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 832, - "nodeType": "ExpressionStatement", - "src": "7963:119:6" - } - ] - }, - "documentation": "@dev Destroys `amount` tokens from `account`.`amount` is then deducted\nfrom the caller's allowance.\n * See {_burn} and {_approve}.", - "id": 834, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burnFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 810, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 807, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 834, - "src": "7879:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 806, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7879:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 809, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 834, - "src": "7896:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7896:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7878:33:6" - }, - "returnParameters": { - "id": 811, - "nodeType": "ParameterList", - "parameters": [], - "src": "7921:0:6" - }, - "scope": 835, - "src": "7860:229:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 836, - "src": "1268:6823:6" - } - ], - "src": "0:8092:6" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "exportedSymbols": { - "ERC20": [ - 835 - ] - }, - "id": 836, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 432, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:6" - }, - { - "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", - "file": "../../GSN/Context.sol", - "id": 433, - "nodeType": "ImportDirective", - "scope": 836, - "sourceUnit": 244, - "src": "25:31:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "./IERC20.sol", - "id": 434, - "nodeType": "ImportDirective", - "scope": 836, - "sourceUnit": 905, - "src": "57:22:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "../../math/SafeMath.sol", - "id": 435, - "nodeType": "ImportDirective", - "scope": 836, - "sourceUnit": 431, - "src": "80:33:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 436, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 243, - "src": "1286:7:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$243", - "typeString": "contract Context" - } - }, - "id": 437, - "nodeType": "InheritanceSpecifier", - "src": "1286:7:6" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 438, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 904, - "src": "1295:6:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$904", - "typeString": "contract IERC20" - } - }, - "id": 439, - "nodeType": "InheritanceSpecifier", - "src": "1295:6:6" - } - ], - "contractDependencies": [ - 243, - 904 - ], - "contractKind": "contract", - "documentation": "@dev Implementation of the {IERC20} interface.\n * This implementation is agnostic to the way tokens are created. This means\nthat a supply mechanism has to be added in a derived contract using {_mint}.\nFor a generic mechanism see {ERC20Mintable}.\n * TIP: For a detailed writeup see our guide\nhttps://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\nto implement supply mechanisms].\n * We have followed general OpenZeppelin guidelines: functions revert instead\nof returning `false` on failure. This behavior is nonetheless conventional\nand does not conflict with the expectations of ERC20 applications.\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\nThis allows applications to reconstruct the allowance for all accounts just\nby listening to said events. Other implementations of the EIP may not emit\nthese events, as it isn't required by the specification.\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\nfunctions have been added to mitigate the well-known issues around setting\nallowances. See {IERC20-approve}.", - "fullyImplemented": true, - "id": 835, - "linearizedBaseContracts": [ - 835, - 904, - 243 - ], - "name": "ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 442, - "libraryName": { - "contractScope": null, - "id": 440, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 430, - "src": "1314:8:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$430", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "1308:27:6", - "typeName": { - "id": 441, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1327:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 446, - "name": "_balances", - "nodeType": "VariableDeclaration", - "scope": 835, - "src": "1341:46:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 445, - "keyType": { - "id": 443, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1350:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1341:28:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 444, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1361:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 452, - "name": "_allowances", - "nodeType": "VariableDeclaration", - "scope": 835, - "src": "1394:69:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 451, - "keyType": { - "id": 447, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1403:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1394:49:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 450, - "keyType": { - "id": 448, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1423:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1414:28:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 449, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1434:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 454, - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "scope": 835, - "src": "1470:28:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 453, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1470:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 461, - "nodeType": "Block", - "src": "1612:36:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 459, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 454, - "src": "1629:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 458, - "id": 460, - "nodeType": "Return", - "src": "1622:19:6" - } - ] - }, - "documentation": "@dev See {IERC20-totalSupply}.", - "id": 462, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 455, - "nodeType": "ParameterList", - "parameters": [], - "src": "1579:2:6" - }, - "returnParameters": { - "id": 458, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 457, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 462, - "src": "1603:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 456, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1603:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1602:9:6" - }, - "scope": 835, - "src": "1559:89:6", - "stateMutability": "view", - "superFunction": 842, - "visibility": "public" - }, - { - "body": { - "id": 473, - "nodeType": "Block", - "src": "1772:42:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 469, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "1789:9:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 471, - "indexExpression": { - "argumentTypes": null, - "id": 470, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "1799:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1789:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 468, - "id": 472, - "nodeType": "Return", - "src": "1782:25:6" - } - ] - }, - "documentation": "@dev See {IERC20-balanceOf}.", - "id": 474, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 465, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 464, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 474, - "src": "1725:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 463, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1725:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1724:17:6" - }, - "returnParameters": { - "id": 468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 467, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 474, - "src": "1763:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1763:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1762:9:6" - }, - "scope": 835, - "src": "1706:108:6", - "stateMutability": "view", - "superFunction": 849, - "visibility": "public" - }, - { - "body": { - "id": 492, - "nodeType": "Block", - "src": "2092:80:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 484, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "2112:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2112:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 486, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 476, - "src": "2126:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 487, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 478, - "src": "2137:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 483, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 676, - "src": "2102:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2102:42:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 489, - "nodeType": "ExpressionStatement", - "src": "2102:42:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 490, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2161:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 482, - "id": 491, - "nodeType": "Return", - "src": "2154:11:6" - } - ] - }, - "documentation": "@dev See {IERC20-transfer}.\n * Requirements:\n * - `recipient` cannot be the zero address.\n- the caller must have a balance of at least `amount`.", - "id": 493, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 479, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 476, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 493, - "src": "2035:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 475, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2035:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 478, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 493, - "src": "2054:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 477, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2054:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2034:35:6" - }, - "returnParameters": { - "id": 482, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 481, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 493, - "src": "2086:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 480, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2086:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2085:6:6" - }, - "scope": 835, - "src": "2017:155:6", - "stateMutability": "nonpayable", - "superFunction": 858, - "visibility": "public" - }, - { - "body": { - "id": 508, - "nodeType": "Block", - "src": "2311:51:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 502, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 452, - "src": "2328:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 504, - "indexExpression": { - "argumentTypes": null, - "id": 503, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "2340:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2328:18:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 506, - "indexExpression": { - "argumentTypes": null, - "id": 505, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 497, - "src": "2347:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2328:27:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 501, - "id": 507, - "nodeType": "Return", - "src": "2321:34:6" - } - ] - }, - "documentation": "@dev See {IERC20-allowance}.", - "id": 509, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 498, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 495, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 509, - "src": "2249:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 494, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2249:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 497, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 509, - "src": "2264:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 496, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2264:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2248:32:6" - }, - "returnParameters": { - "id": 501, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 500, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 509, - "src": "2302:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 499, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2302:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2301:9:6" - }, - "scope": 835, - "src": "2230:132:6", - "stateMutability": "view", - "superFunction": 867, - "visibility": "public" - }, - { - "body": { - "id": 527, - "nodeType": "Block", - "src": "2572:77:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 519, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "2591:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2591:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 521, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "2605:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 522, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "2614:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 518, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "2582:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2582:39:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 524, - "nodeType": "ExpressionStatement", - "src": "2582:39:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 525, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2638:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 517, - "id": 526, - "nodeType": "Return", - "src": "2631:11:6" - } - ] - }, - "documentation": "@dev See {IERC20-approve}.\n * Requirements:\n * - `spender` cannot be the zero address.", - "id": 528, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 514, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 511, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 528, - "src": "2517:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 510, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2517:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 513, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 528, - "src": "2534:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 512, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2534:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2516:33:6" - }, - "returnParameters": { - "id": 517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 516, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 528, - "src": "2566:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 515, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2566:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2565:6:6" - }, - "scope": 835, - "src": "2500:149:6", - "stateMutability": "nonpayable", - "superFunction": 876, - "visibility": "public" - }, - { - "body": { - "id": 563, - "nodeType": "Block", - "src": "3202:205:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 540, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 530, - "src": "3222:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 541, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 532, - "src": "3230:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 542, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 534, - "src": "3241:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 539, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 676, - "src": "3212:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3212:36:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 544, - "nodeType": "ExpressionStatement", - "src": "3212:36:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 546, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 530, - "src": "3267:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 547, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "3275:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3275:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 556, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 534, - "src": "3327:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 557, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3335:42:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", - "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\"" - }, - "value": "ERC20: transfer amount exceeds allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", - "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 549, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 452, - "src": "3289:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 551, - "indexExpression": { - "argumentTypes": null, - "id": 550, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 530, - "src": "3301:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3289:19:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 554, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 552, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "3309:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3309:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3289:33:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 313, - "src": "3289:37:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3289:89:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 545, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "3258:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3258:121:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 560, - "nodeType": "ExpressionStatement", - "src": "3258:121:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 561, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3396:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 538, - "id": 562, - "nodeType": "Return", - "src": "3389:11:6" - } - ] - }, - "documentation": "@dev See {IERC20-transferFrom}.\n * Emits an {Approval} event indicating the updated allowance. This is not\nrequired by the EIP. See the note at the beginning of {ERC20};\n * Requirements:\n- `sender` and `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.\n- the caller must have allowance for `sender`'s tokens of at least\n`amount`.", - "id": 564, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 535, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 530, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 564, - "src": "3129:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 529, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3129:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 532, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 564, - "src": "3145:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 531, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3145:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 534, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 564, - "src": "3164:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3164:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3128:51:6" - }, - "returnParameters": { - "id": 538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 537, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 564, - "src": "3196:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 536, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3196:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3195:6:6" - }, - "scope": 835, - "src": "3107:300:6", - "stateMutability": "nonpayable", - "superFunction": 887, - "visibility": "public" - }, - { - "body": { - "id": 590, - "nodeType": "Block", - "src": "3888:121:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 574, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "3907:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3907:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 576, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "3921:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 584, - "name": "addedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 568, - "src": "3969:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 577, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 452, - "src": "3930:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 580, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 578, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "3942:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3942:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3930:25:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 582, - "indexExpression": { - "argumentTypes": null, - "id": 581, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "3956:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3930:34:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 270, - "src": "3930:38:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3930:50:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 573, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "3898:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3898:83:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 587, - "nodeType": "ExpressionStatement", - "src": "3898:83:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 588, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3998:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 572, - "id": 589, - "nodeType": "Return", - "src": "3991:11:6" - } - ] - }, - "documentation": "@dev Atomically increases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.", - "id": 591, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increaseAllowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 566, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 591, - "src": "3829:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 565, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3829:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 568, - "name": "addedValue", - "nodeType": "VariableDeclaration", - "scope": 591, - "src": "3846:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 567, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3846:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3828:37:6" - }, - "returnParameters": { - "id": 572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 571, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 591, - "src": "3882:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 570, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3882:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3881:6:6" - }, - "scope": 835, - "src": "3802:207:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 618, - "nodeType": "Block", - "src": "4587:167:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 601, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "4606:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4606:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 603, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 593, - "src": "4620:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 611, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 595, - "src": "4668:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4685:39:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - }, - "value": "ERC20: decreased allowance below zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 604, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 452, - "src": "4629:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 607, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 605, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "4641:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4641:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4629:25:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 609, - "indexExpression": { - "argumentTypes": null, - "id": 608, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 593, - "src": "4655:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4629:34:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 313, - "src": "4629:38:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4629:96:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 600, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "4597:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:129:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 615, - "nodeType": "ExpressionStatement", - "src": "4597:129:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 616, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4743:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 599, - "id": 617, - "nodeType": "Return", - "src": "4736:11:6" - } - ] - }, - "documentation": "@dev Atomically decreases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.\n- `spender` must have allowance for the caller of at least\n`subtractedValue`.", - "id": 619, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreaseAllowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 596, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 593, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 619, - "src": "4523:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 592, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4523:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 595, - "name": "subtractedValue", - "nodeType": "VariableDeclaration", - "scope": 619, - "src": "4540:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 594, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4540:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4522:42:6" - }, - "returnParameters": { - "id": 599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 598, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 619, - "src": "4581:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 597, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4581:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4580:6:6" - }, - "scope": 835, - "src": "4496:258:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 675, - "nodeType": "Block", - "src": "5307:385:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 629, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "5325:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5343:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5335:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5335:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5325:20:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 634, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5347:39:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - }, - "value": "ERC20: transfer from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - } - ], - "id": 628, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 922, - 923 - ], - "referencedDeclaration": 923, - "src": "5317:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5317:70:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 636, - "nodeType": "ExpressionStatement", - "src": "5317:70:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 638, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 623, - "src": "5405:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5426:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5418:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5418:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5405:23:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5430:37:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - }, - "value": "ERC20: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - } - ], - "id": 637, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 922, - 923 - ], - "referencedDeclaration": 923, - "src": "5397:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5397:71:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 645, - "nodeType": "ExpressionStatement", - "src": "5397:71:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 646, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "5479:9:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 648, - "indexExpression": { - "argumentTypes": null, - "id": 647, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "5489:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5479:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 653, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 625, - "src": "5521:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 654, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5529:40:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - }, - "value": "ERC20: transfer amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 649, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "5499:9:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 651, - "indexExpression": { - "argumentTypes": null, - "id": 650, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "5509:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5499:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 313, - "src": "5499:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5499:71:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5479:91:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 657, - "nodeType": "ExpressionStatement", - "src": "5479:91:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 658, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "5580:9:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 660, - "indexExpression": { - "argumentTypes": null, - "id": 659, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 623, - "src": "5590:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5580:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 665, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 625, - "src": "5628:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 661, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "5603:9:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 663, - "indexExpression": { - "argumentTypes": null, - "id": 662, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 623, - "src": "5613:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5603:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 270, - "src": "5603:24:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5603:32:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5580:55:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 668, - "nodeType": "ExpressionStatement", - "src": "5580:55:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 670, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "5659:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 671, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 623, - "src": "5667:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 672, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 625, - "src": "5678:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 669, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 895, - "src": "5650:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5650:35:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 674, - "nodeType": "EmitStatement", - "src": "5645:40:6" - } - ] - }, - "documentation": "@dev Moves tokens `amount` from `sender` to `recipient`.\n * This is internal function is equivalent to {transfer}, and can be used to\ne.g. implement automatic token fees, slashing mechanisms, etc.\n * Emits a {Transfer} event.\n * Requirements:\n * - `sender` cannot be the zero address.\n- `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.", - "id": 676, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 621, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 676, - "src": "5247:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 620, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5247:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 623, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 676, - "src": "5263:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5263:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 625, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 676, - "src": "5282:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5282:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5246:51:6" - }, - "returnParameters": { - "id": 627, - "nodeType": "ParameterList", - "parameters": [], - "src": "5307:0:6" - }, - "scope": 835, - "src": "5228:464:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 718, - "nodeType": "Block", - "src": "6019:245:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 684, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 678, - "src": "6037:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6056:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 685, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6048:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 687, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6048:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6037:21:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 689, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6060:33:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - }, - "value": "ERC20: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - } - ], - "id": 683, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 922, - 923 - ], - "referencedDeclaration": 923, - "src": "6029:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6029:65:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 691, - "nodeType": "ExpressionStatement", - "src": "6029:65:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 692, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 454, - "src": "6105:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 695, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 680, - "src": "6137:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 693, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 454, - "src": "6120:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 270, - "src": "6120:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6120:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6105:39:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 698, - "nodeType": "ExpressionStatement", - "src": "6105:39:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 699, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "6154:9:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 701, - "indexExpression": { - "argumentTypes": null, - "id": 700, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 678, - "src": "6164:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6154:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 706, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 680, - "src": "6198:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 702, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "6175:9:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 704, - "indexExpression": { - "argumentTypes": null, - "id": 703, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 678, - "src": "6185:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6175:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 270, - "src": "6175:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6175:30:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6154:51:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 709, - "nodeType": "ExpressionStatement", - "src": "6154:51:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 712, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6237:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 711, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6229:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 713, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6229:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 714, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 678, - "src": "6241:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 715, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 680, - "src": "6250:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 710, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 895, - "src": "6220:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6220:37:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 717, - "nodeType": "EmitStatement", - "src": "6215:42:6" - } - ] - }, - "documentation": "@dev Creates `amount` tokens and assigns them to `account`, increasing\nthe total supply.\n * Emits a {Transfer} event with `from` set to the zero address.\n * Requirements\n * - `to` cannot be the zero address.", - "id": 719, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 681, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 678, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 719, - "src": "5977:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 677, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5977:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 680, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 719, - "src": "5994:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5994:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5976:33:6" - }, - "returnParameters": { - "id": 682, - "nodeType": "ParameterList", - "parameters": [], - "src": "6019:0:6" - }, - "scope": 835, - "src": "5962:302:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 762, - "nodeType": "Block", - "src": "6640:285:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 727, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "6658:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 729, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6677:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6669:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 730, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6669:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6658:21:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6681:35:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - }, - "value": "ERC20: burn from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - } - ], - "id": 726, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 922, - 923 - ], - "referencedDeclaration": 923, - "src": "6650:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6650:67:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 734, - "nodeType": "ExpressionStatement", - "src": "6650:67:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 735, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "6728:9:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 737, - "indexExpression": { - "argumentTypes": null, - "id": 736, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "6738:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6728:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 742, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "6772:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6780:36:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - }, - "value": "ERC20: burn amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 738, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "6749:9:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 740, - "indexExpression": { - "argumentTypes": null, - "id": 739, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "6759:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6749:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 313, - "src": "6749:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6749:68:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6728:89:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 746, - "nodeType": "ExpressionStatement", - "src": "6728:89:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 747, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 454, - "src": "6827:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 750, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "6859:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 748, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 454, - "src": "6842:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 286, - "src": "6842:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6842:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6827:39:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 753, - "nodeType": "ExpressionStatement", - "src": "6827:39:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 755, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "6890:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 757, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6907:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6899:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6899:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 759, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "6911:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 754, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 895, - "src": "6881:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6881:37:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 761, - "nodeType": "EmitStatement", - "src": "6876:42:6" - } - ] - }, - "documentation": "@dev Destroys `amount` tokens from `account`, reducing the\ntotal supply.\n * Emits a {Transfer} event with `to` set to the zero address.\n * Requirements\n * - `account` cannot be the zero address.\n- `account` must have at least `amount` tokens.", - "id": 763, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 724, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 721, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 763, - "src": "6598:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6598:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 723, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 763, - "src": "6615:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 722, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6615:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6597:33:6" - }, - "returnParameters": { - "id": 725, - "nodeType": "ParameterList", - "parameters": [], - "src": "6640:0:6" - }, - "scope": 835, - "src": "6583:342:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 804, - "nodeType": "Block", - "src": "7425:257:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 773, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 765, - "src": "7443:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7460:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7452:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7452:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7443:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7464:38:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - }, - "value": "ERC20: approve from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - } - ], - "id": 772, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 922, - 923 - ], - "referencedDeclaration": 923, - "src": "7435:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7435:68:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 780, - "nodeType": "ExpressionStatement", - "src": "7435:68:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 782, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 767, - "src": "7521:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7540:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7532:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 785, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7532:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7521:21:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 787, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7544:36:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - }, - "value": "ERC20: approve to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - } - ], - "id": 781, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 922, - 923 - ], - "referencedDeclaration": 923, - "src": "7513:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7513:68:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 789, - "nodeType": "ExpressionStatement", - "src": "7513:68:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 790, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 452, - "src": "7592:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 793, - "indexExpression": { - "argumentTypes": null, - "id": 791, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 765, - "src": "7604:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7592:18:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 794, - "indexExpression": { - "argumentTypes": null, - "id": 792, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 767, - "src": "7611:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7592:27:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 795, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "7622:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7592:36:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 797, - "nodeType": "ExpressionStatement", - "src": "7592:36:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 799, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 765, - "src": "7652:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 800, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 767, - "src": "7659:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 801, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "7668:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 798, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 903, - "src": "7643:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7643:32:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 803, - "nodeType": "EmitStatement", - "src": "7638:37:6" - } - ] - }, - "documentation": "@dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.\n * This is internal function is equivalent to `approve`, and can be used to\ne.g. set automatic allowances for certain subsystems, etc.\n * Emits an {Approval} event.\n * Requirements:\n * - `owner` cannot be the zero address.\n- `spender` cannot be the zero address.", - "id": 805, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 770, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 765, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 805, - "src": "7368:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 764, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7368:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 767, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 805, - "src": "7383:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 766, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7383:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 769, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 805, - "src": "7400:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7400:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7367:48:6" - }, - "returnParameters": { - "id": 771, - "nodeType": "ParameterList", - "parameters": [], - "src": "7425:0:6" - }, - "scope": 835, - "src": "7350:332:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 833, - "nodeType": "Block", - "src": "7921:168:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 813, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 807, - "src": "7937:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 814, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 809, - "src": "7946:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 812, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 763, - "src": "7931:5:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7931:22:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 816, - "nodeType": "ExpressionStatement", - "src": "7931:22:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 818, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 807, - "src": "7972:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 819, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "7981:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7981:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 828, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 809, - "src": "8034:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8042:38:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a287c363786607a1457a2d9d12fa61c0073358e02d76b4035fc2c2d86a19c0db", - "typeString": "literal_string \"ERC20: burn amount exceeds allowance\"" - }, - "value": "ERC20: burn amount exceeds allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_a287c363786607a1457a2d9d12fa61c0073358e02d76b4035fc2c2d86a19c0db", - "typeString": "literal_string \"ERC20: burn amount exceeds allowance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 821, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 452, - "src": "7995:11:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 823, - "indexExpression": { - "argumentTypes": null, - "id": 822, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 807, - "src": "8007:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7995:20:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 826, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 824, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "8016:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8016:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7995:34:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 313, - "src": "7995:38:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7995:86:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 817, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "7963:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7963:119:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 832, - "nodeType": "ExpressionStatement", - "src": "7963:119:6" - } - ] - }, - "documentation": "@dev Destroys `amount` tokens from `account`.`amount` is then deducted\nfrom the caller's allowance.\n * See {_burn} and {_approve}.", - "id": 834, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burnFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 810, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 807, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 834, - "src": "7879:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 806, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7879:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 809, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 834, - "src": "7896:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7896:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7878:33:6" - }, - "returnParameters": { - "id": 811, - "nodeType": "ParameterList", - "parameters": [], - "src": "7921:0:6" - }, - "scope": 835, - "src": "7860:229:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 836, - "src": "1268:6823:6" - } - ], - "src": "0:8092:6" - }, - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.0", - "updatedAt": "2020-08-29T17:41:05.863Z", - "devdoc": { - "details": "Implementation of the {IERC20} interface. * This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20Mintable}. * TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. * We have followed general OpenZeppelin guidelines: functions revert instead of returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. * Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for `sender`'s tokens of at least `amount`." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/app_/src/contracts/ERC721.json b/app_/src/contracts/ERC721.json deleted file mode 100644 index f806190..0000000 --- a/app_/src/contracts/ERC721.json +++ /dev/null @@ -1,15052 +0,0 @@ -{ - "contractName": "ERC721", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Resumed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "isPaused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "resume", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Resumed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resume\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"see https://eips.ethereum.org/EIPS/eip-721\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * Requirements: * - The caller must own the token or be an approved operator. - `tokenId` must exist. * Emits an {Approval} event.\"},\"constructor\":{\"details\":\"Initializes the contract by registering the supported interfaces.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Tells whether an operator is approved by a given owner\",\"params\":{\"operator\":\"operator address which you want to query the approval of\",\"owner\":\"owner address which you want to query the approval of\"},\"returns\":{\"_0\":\"bool whether the given operator is approved by the given owner\"}},\"isPaused()\":{\"details\":\"Returns true if the contract is paused.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"pause()\":{\"details\":\"Stops operational state.\"},\"resume()\":{\"details\":\"Resumes operational state.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Sets or unsets the approval of a given operator An operator is allowed to transfer all tokens of the sender on their behalf\",\"params\":{\"approved\":\"representing the status of the approval to be set\",\"to\":\"operator address to set the approval\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]. * Time complexity O(1), guaranteed to always use less than 30 000 gas.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"ERC721 Non-Fungible Token Standard basic implementation\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721.sol\":\"ERC721\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC165.sol\":{\"keccak256\":\"0xcb595039f64d3e7f1ae680b8105f8d4d2010b73bf62355ddd0c0de824d399742\",\"urls\":[\"bzz-raw://f2e08ce1bbb0ea2628db773b0d2402d399e211953f9574da17089ae465b048d8\",\"dweb:/ipfs/QmT1vHbq7tbwvFt9uRaCULyGmFgZ1h35ft9M4j1p86S6SU\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721.sol\":{\"keccak256\":\"0xcad0e0a24a93303fafd1d297a05ec681d88f531119d1aeb5f5e3acb20ef35488\",\"urls\":[\"bzz-raw://34bd2407e09c01b87a9df1eba31ffe59c2b31d49413cda70f7f62546c6edf725\",\"dweb:/ipfs/QmZfKPGE8M7FXVhuH9XdbiRiqJ6t4LSBuinJLCM16aLbX8\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/util/Ownable.sol\":{\"keccak256\":\"0x82ef8aa91736625e9a857d74f887113396f3efff3f92487487951c01640185bd\",\"urls\":[\"bzz-raw://000e161ca84afddaf09a3f2aa5e2ac4ba231d99337dd8f2f34fb6968ed57ce95\",\"dweb:/ipfs/Qmavkk6BGxoxtrVpYe737HyuxE4WsPaFdtW39JsRiS9G4m\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/util/Pausable.sol\":{\"keccak256\":\"0xe2cc8e8eee187921e15d10ac5d7d92c222a223b9048c6f7e9f5b93b6527f95c7\",\"urls\":[\"bzz-raw://9aeec234fe8bf28bed06a87a4cf873c5f1edd23b7719b84bc94b8b74da4ba160\",\"dweb:/ipfs/QmNuG23aVNMxMTybSiRKYvE4649qgdL1yFy3MJdBAeCd5N\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806\",\"urls\":[\"bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5\",\"dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x321ee37ef4925020aa818a03ec7fe48e057561f65ab009a84f6c20c86026ade7\",\"urls\":[\"bzz-raw://01f9d74a17a56024984251b97e428e24c9d3abffbae5bd290f0ec263c82e9694\",\"dweb:/ipfs/QmRryCuuXu2ukrDmatB8TqdEhPLiK6NBRt41RiPUaX1qKy\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xdfb4f812600ba4ce6738c35584ceb8c9433472583051b48ba5b1f66cb758a498\",\"urls\":[\"bzz-raw://df02dffe1c1de089d9b4f6192f0dcf464526f2230f420b3deec4645e0cdd2bff\",\"dweb:/ipfs/QmcqXGAU3KJqwrgUVoGJ2W8osomhSJ4R5kdsRpbuW3fELS\"]},\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0x2d68b8e6425249cd05cc0a66ea50cb5b8d10cbdac59c6de834e1002232813faf\",\"urls\":[\"bzz-raw://e3ce6b6ac17c67bba01e9c8c778f82f68fd4823bd083359cdd03040b70eeeba3\",\"dweb:/ipfs/QmX4t1jWwKaAkacvmQxEG5rBtLXg3EHw6pRjKhMZR8iw3n\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b506100276301ffc9a760e01b61011b60201b60201c565b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160146101000a81548160ff0219169083151502179055506101166380ac58cd60e01b61011b60201b60201c565b610223565b63ffffffff60e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156101b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433136353a20696e76616c696420696e746572666163652049440000000081525060200191505060405180910390fd5b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611c78806102326000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063b187bd2611610066578063b187bd261461046b578063b88d4fde1461048d578063e985e9c514610592578063f2fde38b1461060e576100f5565b806370a082311461036f5780638456cb59146103c75780638da5cb5b146103d1578063a22cb4651461041b576100f5565b8063095ea7b3116100d3578063095ea7b3146101d757806323b872dd1461022557806342842e0e146102935780636352211e14610301576100f5565b806301ffc9a7146100fa578063046f7da21461015f578063081812fc14610169575b600080fd5b6101456004803603602081101561011057600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610652565b604051808215151515815260200191505060405180910390f35b6101676106b9565b005b6101956004803603602081101561017f57600080fd5b8101908080359060200190929190505050610861565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610223600480360360408110156101ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108fc565b005b6102916004803603606081101561023b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b3b565b005b6102ff600480360360608110156102a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b5e565b005b61032d6004803603602081101561031757600080fd5b8101908080359060200190929190505050610b7e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103b16004803603602081101561038557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bbb565b6040518082815260200191505060405180910390f35b6103cf610c90565b005b6103d9610e38565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104696004803603604081101561043157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610e62565b005b610473610f9c565b604051808215151515815260200191505060405180910390f35b610590600480360360808110156104a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561050a57600080fd5b82018360208201111561051c57600080fd5b8035906020019184600183028401116401000000008311171561053e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610fb3565b005b6105f4600480360360408110156105a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fd9565b604051808215151515815260200191505060405180910390f35b6106506004803603602081101561062457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061106d565b005b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b600160149054906101000a900460ff1661071e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611b9d6022913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600160146101000a81548160ff0219169083151502179055507f5d287a3a02ade76478d8449abebe9dc45b38421247132b68127dd3cd6c05f3cf33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600061086c82611276565b6108c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180611b27602c913960400191505060405180910390fd5b6003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61090581611276565b61095a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611c16602d913960400191505060405180910390fd5b600061096582610b7e565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156109ec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611b7c6021913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610a2c5750610a2b8133610fd9565b5b610a81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526038815260200180611ac56038913960400191505060405180910390fd5b826003600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff16610af484610b7e565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b610b4533826112e8565b610b4e57600080fd5b610b5983838361137d565b505050565b610b7983838360405180602001604052806000815250610fb3565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c42576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180611afd602a913960400191505060405180910390fd5b610c89600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611637565b9050919050565b600160149054906101000a900460ff1615610cf6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611bf06026913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610db9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60018060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e9b57600080fd5b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6000600160149054906101000a900460ff16905090565b610fbe848484610b3b565b610fca84848484611645565b610fd357600080fd5b50505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611130576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111b6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611a7b6026913960400191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b6000806112f483610b7e565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061136357508373ffffffffffffffffffffffffffffffffffffffff1661134b84610861565b73ffffffffffffffffffffffffffffffffffffffff16145b8061137457506113738185610fd9565b5b91505092915050565b61138733826112e8565b6113dc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180611bbf6031913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166113fc82610b7e565b73ffffffffffffffffffffffffffffffffffffffff1614611468576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611b536029913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114ee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180611aa16024913960400191505060405180910390fd5b6114f78161182e565b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611590600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206118ec565b6115d7600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061190f565b808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600081600001549050919050565b60006116668473ffffffffffffffffffffffffffffffffffffffff16611925565b6116735760019050611826565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561174e578082015181840152602081019050611733565b50505050905090810190601f16801561177b5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561179d57600080fd5b505af11580156117b1573d6000803e3d6000fd5b505050506040513d60208110156117c757600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118e95760006003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6119046001826000015461197090919063ffffffff16565b816000018190555050565b6001816000016000828254019250508190555050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561196757506000801b8214155b92505050919050565b60006119b283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119ba565b905092915050565b6000838311158290611a67576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a2c578082015181840152602081019050611a11565b50505050905090810190601f168015611a595780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65725061757361626c653a206578706563746564202770617573656427207374617475734552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665645061757361626c653a20657870656374656420276e6f742070617573656427207374617475734552433732313a20617070726f7665207265717565737420666f72206e6f6e6578697374656e7420746f6b656ea2646970667358221220462ff60ab70fff86df060738c6320a64172df88b3f82dc982149c2cb017e9dd964736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063b187bd2611610066578063b187bd261461046b578063b88d4fde1461048d578063e985e9c514610592578063f2fde38b1461060e576100f5565b806370a082311461036f5780638456cb59146103c75780638da5cb5b146103d1578063a22cb4651461041b576100f5565b8063095ea7b3116100d3578063095ea7b3146101d757806323b872dd1461022557806342842e0e146102935780636352211e14610301576100f5565b806301ffc9a7146100fa578063046f7da21461015f578063081812fc14610169575b600080fd5b6101456004803603602081101561011057600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610652565b604051808215151515815260200191505060405180910390f35b6101676106b9565b005b6101956004803603602081101561017f57600080fd5b8101908080359060200190929190505050610861565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610223600480360360408110156101ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108fc565b005b6102916004803603606081101561023b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b3b565b005b6102ff600480360360608110156102a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b5e565b005b61032d6004803603602081101561031757600080fd5b8101908080359060200190929190505050610b7e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103b16004803603602081101561038557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bbb565b6040518082815260200191505060405180910390f35b6103cf610c90565b005b6103d9610e38565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104696004803603604081101561043157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610e62565b005b610473610f9c565b604051808215151515815260200191505060405180910390f35b610590600480360360808110156104a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561050a57600080fd5b82018360208201111561051c57600080fd5b8035906020019184600183028401116401000000008311171561053e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610fb3565b005b6105f4600480360360408110156105a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fd9565b604051808215151515815260200191505060405180910390f35b6106506004803603602081101561062457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061106d565b005b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b600160149054906101000a900460ff1661071e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611b9d6022913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600160146101000a81548160ff0219169083151502179055507f5d287a3a02ade76478d8449abebe9dc45b38421247132b68127dd3cd6c05f3cf33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600061086c82611276565b6108c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180611b27602c913960400191505060405180910390fd5b6003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61090581611276565b61095a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611c16602d913960400191505060405180910390fd5b600061096582610b7e565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156109ec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611b7c6021913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610a2c5750610a2b8133610fd9565b5b610a81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526038815260200180611ac56038913960400191505060405180910390fd5b826003600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff16610af484610b7e565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b610b4533826112e8565b610b4e57600080fd5b610b5983838361137d565b505050565b610b7983838360405180602001604052806000815250610fb3565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c42576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180611afd602a913960400191505060405180910390fd5b610c89600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611637565b9050919050565b600160149054906101000a900460ff1615610cf6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611bf06026913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610db9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60018060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e9b57600080fd5b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6000600160149054906101000a900460ff16905090565b610fbe848484610b3b565b610fca84848484611645565b610fd357600080fd5b50505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611130576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111b6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611a7b6026913960400191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b6000806112f483610b7e565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061136357508373ffffffffffffffffffffffffffffffffffffffff1661134b84610861565b73ffffffffffffffffffffffffffffffffffffffff16145b8061137457506113738185610fd9565b5b91505092915050565b61138733826112e8565b6113dc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180611bbf6031913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166113fc82610b7e565b73ffffffffffffffffffffffffffffffffffffffff1614611468576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611b536029913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114ee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180611aa16024913960400191505060405180910390fd5b6114f78161182e565b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611590600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206118ec565b6115d7600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061190f565b808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600081600001549050919050565b60006116668473ffffffffffffffffffffffffffffffffffffffff16611925565b6116735760019050611826565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561174e578082015181840152602081019050611733565b50505050905090810190601f16801561177b5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561179d57600080fd5b505af11580156117b1573d6000803e3d6000fd5b505050506040513d60208110156117c757600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118e95760006003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6119046001826000015461197090919063ffffffff16565b816000018190555050565b6001816000016000828254019250508190555050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561196757506000801b8214155b92505050919050565b60006119b283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119ba565b905092915050565b6000838311158290611a67576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a2c578082015181840152602081019050611a11565b50505050905090810190601f168015611a595780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65725061757361626c653a206578706563746564202770617573656427207374617475734552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665645061757361626c653a20657870656374656420276e6f742070617573656427207374617475734552433732313a20617070726f7665207265717565737420666f72206e6f6e6578697374656e7420746f6b656ea2646970667358221220462ff60ab70fff86df060738c6320a64172df88b3f82dc982149c2cb017e9dd964736f6c63430006020033", - "sourceMap": "478:8838:2:-:0;;;2224:80;8:9:-1;5:2;;;30:1;27;20:12;5:2;2224:80:2;825:40:1;531:10;844:20;;825:18;;;:40;;:::i;:::-;884:10:7;875:6;;:19;;;;;;;;;;;;;;;;;;943:6;;;;;;;;;;;910:40;;939:1;910:40;;;;;;;;;;;;1188:5:8;1178:7;;:15;;;;;;;;;;;;;;;;;;2256:40:2;2108:10;2275:20;;2256:18;;;:40;;:::i;:::-;478:8838;;1607:193:1;1698:10;1683:25;;:11;:25;;;;;1675:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1788:4;1752:20;:33;1773:11;1752:33;;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;1607:193;:::o;478:8838:2:-;;;;;;;", - "deployedSourceMap": "478:8838:2:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;478:8838:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1199:167:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1199:167:1;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1613:123:8;;;:::i;:::-;;3815:241:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3815:241:2;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3156:570;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3156:570:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5089:218;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5089:218:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5315:168;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5315:168:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2568:110;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2568:110:2;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2312:248;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2312:248:2;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1424:123:8;;;:::i;:::-;;1039:79:7;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4356:217:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4356:217:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1280:80:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5491:257:2;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;5491:257:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5491:257:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5491:257:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5491:257:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;5491:257:2;;;;;;;;;;;;;;;:::i;:::-;;4902:179;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4902:179:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1273:281:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1273:281:7;;;;;;;;;;;;;;;;;;;:::i;:::-;;1199:167:1;1296:4;1325:20;:33;1346:11;1325:33;;;;;;;;;;;;;;;;;;;;;;;;;;;1318:40;;1199:167;;;:::o;1613:123:8:-;764:7;;;;;;;;;;;756:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;480:10:7::1;470:20;;:6;;;;;;;;;;;:20;;;462:65;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;1688:5:8::2;1678:7;;:15;;;;;;;;;;;;;;;;;;1709:19;1717:10;1709:19;;;;;;;;;;;;;;;;;;;;;;1613:123::o:0;3815:241:2:-;3874:7;3916:16;3924:7;3916;:16::i;:::-;3894:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4024:15;:24;4040:7;4024:24;;;;;;;;;;;;;;;;;;;;;4017:31;;3815:241;;;:::o;3156:570::-;3242:16;3250:7;3242;:16::i;:::-;3220:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3344:13;3360:16;3368:7;3360;:16::i;:::-;3344:32;;3401:5;3395:11;;:2;:11;;;;3387:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3493:5;3479:19;;:10;:19;;;:58;;;;3502:35;3519:5;3526:10;3502:16;:35::i;:::-;3479:58;3457:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3661:2;3634:15;:24;3650:7;3634:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;3710:7;3706:2;3679:39;;3688:16;3696:7;3688;:16::i;:::-;3679:39;;;;;;;;;;;;3156:570;;;:::o;5089:218::-;5214:39;5233:10;5245:7;5214:18;:39::i;:::-;5206:48;;;;;;5267:32;5281:4;5287:2;5291:7;5267:13;:32::i;:::-;5089:218;;;:::o;5315:168::-;5436:39;5453:4;5459:2;5463:7;5436:39;;;;;;;;;;;;:16;:39::i;:::-;5315:168;;;:::o;2568:110::-;2623:7;2650:11;:20;2662:7;2650:20;;;;;;;;;;;;;;;;;;;;;2643:27;;2568:110;;;:::o;2312:248::-;2367:7;2426:1;2409:19;;:5;:19;;;;2387:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2518:34;:17;:24;2536:5;2518:24;;;;;;;;;;;;;;;:32;:34::i;:::-;2511:41;;2312:248;;;:::o;1424:123:8:-;554:7;;;;;;;;;;;553:8;545:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;480:10:7::1;470:20;;:6;;;;;;;;;;;:20;;;462:65;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;1501:4:8::2;1491:7:::0;::::2;:14;;;;;;;;;;;;;;;;;;1521:18;1528:10;1521:18;;;;;;;;;;;;;;;;;;;;;;1424:123::o:0;1039:79:7:-;1077:7;1104:6;;;;;;;;;;;1097:13;;1039:79;:::o;4356:217:2:-;4442:10;4436:16;;:2;:16;;;;4428:25;;;;;;4501:8;4464:18;:30;4483:10;4464:30;;;;;;;;;;;;;;;:34;4495:2;4464:34;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;4552:2;4525:40;;4540:10;4525:40;;;4556:8;4525:40;;;;;;;;;;;;;;;;;;;;;;4356:217;;:::o;1280:80:8:-;1321:4;1345:7;;;;;;;;;;;1338:14;;1280:80;:::o;5491:257:2:-;5641:31;5654:4;5660:2;5664:7;5641:12;:31::i;:::-;5691:48;5714:4;5720:2;5724:7;5733:5;5691:22;:48::i;:::-;5683:57;;;;;;5491:257;;;;:::o;4902:179::-;5009:4;5038:18;:25;5057:5;5038:25;;;;;;;;;;;;;;;:35;5064:8;5038:35;;;;;;;;;;;;;;;;;;;;;;;;;5031:42;;4902:179;;;;:::o;1273:281:7:-;480:10;470:20;;:6;;;;;;;;;;;:20;;;462:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1396:1:::1;1376:22;;:8;:22;;;;1354:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1484:8;1475:6;;:17;;;;;;;;;;;;;;;;;;1537:8;1508:38;;1529:6;;;;;;;;;;;1508:38;;;;;;;;;;;;1273:281:::0;:::o;5949:163:2:-;6014:4;6031:13;6047:11;:20;6059:7;6047:20;;;;;;;;;;;;;;;;;;;;;6031:36;;6102:1;6085:19;;:5;:19;;;;6078:26;;;5949:163;;;:::o;6481:307::-;6593:4;6615:13;6631:16;6639:7;6631;:16::i;:::-;6615:32;;6677:5;6666:16;;:7;:16;;;:64;;;;6723:7;6699:31;;:20;6711:7;6699:11;:20::i;:::-;:31;;;6666:64;:113;;;;6747:32;6764:5;6771:7;6747:16;:32::i;:::-;6666:113;6658:122;;;6481:307;;;;:::o;7382:685::-;7532:39;7551:10;7563:7;7532:18;:39::i;:::-;7510:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7701:4;7681:24;;:16;7689:7;7681;:16::i;:::-;:24;;;7659:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7807:1;7793:16;;:2;:16;;;;7785:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7863:23;7878:7;7863:14;:23::i;:::-;7922:2;7899:11;:20;7911:7;7899:20;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;7935:35;:17;:23;7953:4;7935:23;;;;;;;;;;;;;;;:33;:35::i;:::-;7981:33;:17;:21;7999:2;7981:21;;;;;;;;;;;;;;;:31;:33::i;:::-;8051:7;8047:2;8032:27;;8041:4;8032:27;;;;;;;;;;;;7382:685;;;:::o;1098:112:14:-;1163:7;1189;:14;;;1182:21;;1098:112;;;:::o;8606:448:2:-;8762:4;8784:15;:2;:13;;;:15::i;:::-;8779:60;;8823:4;8816:11;;;;8779:60;8851:13;8883:2;8867:36;;;8918:10;8943:4;8962:7;8984:5;8867:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8867:133:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8867:133:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8867:133:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8867:133:2;;;;;;;;;;;;;;;;8851:149;;1229:10;9029:16;;9019:26;;;:6;:26;;;;9011:35;;;8606:448;;;;;;;:::o;9138:175::-;9238:1;9202:38;;:15;:24;9218:7;9202:24;;;;;;;;;;;;;;;;;;;;;:38;;;9198:108;;9292:1;9257:15;:24;9273:7;9257:24;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;9198:108;9138:175;:::o;1400:108:14:-;1480:21;1499:1;1480:7;:14;;;:18;;:21;;;;:::i;:::-;1463:7;:14;;:38;;;;1400:108;:::o;1216:178::-;1386:1;1368:7;:14;;;:19;;;;;;;;;;;1216:178;:::o;718:610:13:-;778:4;1036:16;1062:19;1084:66;1062:88;;;;1251:7;1239:20;1227:32;;1290:11;1278:8;:23;;:42;;;;;1317:3;1305:15;;:8;:15;;1278:42;1270:51;;;;718:610;;;:::o;1321:134:11:-;1379:7;1405:43;1409:1;1412;1405:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1398:50;;1321:134;;;;:::o;1746:187::-;1832:7;1864:1;1859;:6;;1867:12;1851:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1851:29:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1890:9;1906:1;1902;:5;1890:17;;1925:1;1918:8;;;1746:187;;;;;:::o", - "source": "// SPDX-License-Identifier: MIT\r\n\r\npragma solidity 0.6.2;\r\n\r\nimport \"@openzeppelin/contracts/utils/Address.sol\";\r\nimport \"@openzeppelin/contracts/utils/Counters.sol\";\r\nimport \"@openzeppelin/contracts/math/SafeMath.sol\";\r\nimport \"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\";\r\n\r\nimport \"./ERC165.sol\";\r\nimport \"../util/Pausable.sol\";\r\n\r\n/**\r\n * @title ERC721 Non-Fungible Token Standard basic implementation\r\n * @dev see https://eips.ethereum.org/EIPS/eip-721\r\n */\r\ncontract ERC721 is ERC165, Pausable {\r\n using SafeMath for uint256;\r\n using Address for address;\r\n using Counters for Counters.Counter;\r\n\r\n event Transfer(\r\n address indexed from,\r\n address indexed to,\r\n uint256 indexed tokenId\r\n );\r\n\r\n event Approval(\r\n address indexed owner,\r\n address indexed approved,\r\n uint256 indexed tokenId\r\n );\r\n\r\n event ApprovalForAll(\r\n address indexed owner,\r\n address indexed operator,\r\n bool approved\r\n );\r\n\r\n // Equals to `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`\r\n // which can be also obtained as `IERC721Receiver(0).onERC721Received.selector`\r\n bytes4 private constant _ERC721_RECEIVED = 0x150b7a02;\r\n\r\n // Mapping from Token ID to Owner\r\n mapping(uint256 => address) private _tokenOwner;\r\n\r\n // Mapping from Token ID to approved address\r\n mapping(uint256 => address) private _tokenApprovals;\r\n\r\n // Mapping from owner to number of owned token\r\n // IMPORTANT: this mapping uses Counters lib which is used to protect overflow when incrementing/decrementing a uint\r\n // use the following functions when interacting with Counters: increment(), decrement(), and current() to get the value\r\n // see: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Counters.sol\r\n mapping(address => Counters.Counter) private _ownedTokensCount;\r\n\r\n // Mapping from owner to operator approvals\r\n mapping(address => mapping(address => bool)) private _operatorApprovals;\r\n\r\n bytes4 private constant _INTERFACE_ID_ERC721 = 0x80ac58cd;\r\n\r\n /**\r\n * @dev Initializes the contract by registering the supported interfaces.\r\n */\r\n constructor() public {\r\n _registerInterface(_INTERFACE_ID_ERC721);\r\n }\r\n\r\n function balanceOf(address owner) public view returns (uint256) {\r\n require(\r\n owner != address(0),\r\n \"ERC721: balance query for the zero address\"\r\n );\r\n\r\n return _ownedTokensCount[owner].current();\r\n }\r\n\r\n function ownerOf(uint256 tokenId) public view returns (address) {\r\n return _tokenOwner[tokenId];\r\n }\r\n\r\n /**\r\n * @dev Gives permission to `to` to transfer `tokenId` token to another account.\r\n * The approval is cleared when the token is transferred.\r\n *\r\n * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\r\n *\r\n * Requirements:\r\n *\r\n * - The caller must own the token or be an approved operator.\r\n * - `tokenId` must exist.\r\n *\r\n * Emits an {Approval} event.\r\n */\r\n function approve(address to, uint256 tokenId) public {\r\n require(\r\n _exists(tokenId),\r\n \"ERC721: approve request for nonexistent token\"\r\n );\r\n\r\n address owner = ownerOf(tokenId);\r\n require(to != owner, \"ERC721: approval to current owner\");\r\n\r\n require(\r\n msg.sender == owner || isApprovedForAll(owner, msg.sender),\r\n \"ERC721: approve caller is not owner nor approved for all\"\r\n );\r\n\r\n _tokenApprovals[tokenId] = to;\r\n emit Approval(ownerOf(tokenId), to, tokenId);\r\n }\r\n\r\n /**\r\n * @dev Returns the account approved for `tokenId` token.\r\n */\r\n function getApproved(uint256 tokenId) public view returns (address) {\r\n require(\r\n _exists(tokenId),\r\n \"ERC721: approved query for nonexistent token\"\r\n );\r\n\r\n return _tokenApprovals[tokenId];\r\n }\r\n\r\n /**\r\n * @dev Sets or unsets the approval of a given operator\r\n * An operator is allowed to transfer all tokens of the sender on their behalf\r\n * @param to operator address to set the approval\r\n * @param approved representing the status of the approval to be set\r\n */\r\n function setApprovalForAll(address to, bool approved) public {\r\n require(to != msg.sender);\r\n _operatorApprovals[msg.sender][to] = approved;\r\n emit ApprovalForAll(msg.sender, to, approved);\r\n }\r\n\r\n /**\r\n * @dev Tells whether an operator is approved by a given owner\r\n * @param owner owner address which you want to query the approval of\r\n * @param operator operator address which you want to query the approval of\r\n * @return bool whether the given operator is approved by the given owner\r\n */\r\n function isApprovedForAll(address owner, address operator)\r\n public\r\n view\r\n returns (bool)\r\n {\r\n return _operatorApprovals[owner][operator];\r\n }\r\n\r\n function transferFrom(\r\n address from,\r\n address to,\r\n uint256 tokenId\r\n ) public {\r\n require(_isApprovedOrOwner(msg.sender, tokenId));\r\n\r\n _transferFrom(from, to, tokenId);\r\n }\r\n\r\n function safeTransferFrom(\r\n address from,\r\n address to,\r\n uint256 tokenId\r\n ) public {\r\n safeTransferFrom(from, to, tokenId, \"\");\r\n }\r\n\r\n function safeTransferFrom(\r\n address from,\r\n address to,\r\n uint256 tokenId,\r\n bytes memory _data\r\n ) public {\r\n transferFrom(from, to, tokenId);\r\n require(_checkOnERC721Received(from, to, tokenId, _data));\r\n }\r\n\r\n /**\r\n * @dev Returns whether the specified token exists\r\n * @param tokenId uint256 ID of the token to query the existence of\r\n * @return bool whether the token exists\r\n */\r\n function _exists(uint256 tokenId) internal virtual view returns (bool) {\r\n address owner = _tokenOwner[tokenId];\r\n return owner != address(0);\r\n }\r\n\r\n /**\r\n * @dev Returns whether the given spender can transfer a given token ID\r\n * @param spender address of the spender to query\r\n * @param tokenId uint256 ID of the token to be transferred\r\n * @return bool whether the msg.sender is approved for the given token ID,\r\n * is an operator of the owner, or is the owner of the token\r\n */\r\n function _isApprovedOrOwner(address spender, uint256 tokenId)\r\n internal\r\n view\r\n returns (bool)\r\n {\r\n address owner = ownerOf(tokenId);\r\n return (spender == owner ||\r\n getApproved(tokenId) == spender ||\r\n isApprovedForAll(owner, spender));\r\n }\r\n\r\n /**\r\n * @dev Mints `tokenId` and transfers it to `to`.\r\n *\r\n * Emits a {Transfer} event.\r\n */\r\n function _mint(address to, uint256 tokenId) internal virtual {\r\n require(to != address(0), \"ERC721: mint to the zero address\");\r\n require(!_exists(tokenId), \"ERC721: token already minted\");\r\n\r\n _tokenOwner[tokenId] = to;\r\n _ownedTokensCount[to].increment();\r\n\r\n emit Transfer(address(0), to, tokenId);\r\n }\r\n\r\n /**\r\n * @dev Transfers `tokenId` token from `from` to `to`.\r\n *\r\n * Emits a {Transfer} event.\r\n */\r\n function _transferFrom(\r\n address from,\r\n address to,\r\n uint256 tokenId\r\n ) internal virtual {\r\n require(\r\n _isApprovedOrOwner(msg.sender, tokenId),\r\n \"ERC721: transfer caller is not owner nor approved\"\r\n );\r\n require(\r\n ownerOf(tokenId) == from,\r\n \"ERC721: transfer of token that is not own\"\r\n );\r\n require(to != address(0), \"ERC721: transfer to the zero address\");\r\n\r\n _clearApproval(tokenId);\r\n\r\n _tokenOwner[tokenId] = to;\r\n _ownedTokensCount[from].decrement();\r\n _ownedTokensCount[to].increment();\r\n\r\n emit Transfer(from, to, tokenId);\r\n }\r\n\r\n /**\r\n * @dev Internal function to invoke `onERC721Received` on a target address\r\n * The call is not executed if the target address is not a contract\r\n * @param from address representing the previous owner of the given token ID\r\n * @param to target address that will receive the tokens\r\n * @param tokenId uint256 ID of the token to be transferred\r\n * @param _data bytes optional data to send along with the call\r\n * @return bool whether the call correctly returned the expected magic value\r\n */\r\n function _checkOnERC721Received(\r\n address from,\r\n address to,\r\n uint256 tokenId,\r\n bytes memory _data\r\n ) internal returns (bool) {\r\n if (!to.isContract()) {\r\n return true;\r\n }\r\n\r\n bytes4 retval = IERC721Receiver(to).onERC721Received(\r\n msg.sender,\r\n from,\r\n tokenId,\r\n _data\r\n );\r\n return (retval == _ERC721_RECEIVED);\r\n }\r\n\r\n // @dev Private function to clear current approval of a given token ID\r\n function _clearApproval(uint256 tokenId) private {\r\n if (_tokenApprovals[tokenId] != address(0)) {\r\n _tokenApprovals[tokenId] = address(0);\r\n }\r\n }\r\n}\r\n", - "sourcePath": "C:\\Users\\Diego\\dev\\blockchain\\dapp-real-state\\contracts\\token\\ERC721.sol", - "ast": { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721.sol", - "exportedSymbols": { - "ERC721": [ - 640 - ] - }, - "id": 641, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 107, - "literals": [ - "solidity", - "0.6", - ".2" - ], - "nodeType": "PragmaDirective", - "src": "35:22:2" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Address.sol", - "file": "@openzeppelin/contracts/utils/Address.sol", - "id": 108, - "nodeType": "ImportDirective", - "scope": 641, - "sourceUnit": 7117, - "src": "61:51:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Counters.sol", - "file": "@openzeppelin/contracts/utils/Counters.sol", - "id": 109, - "nodeType": "ImportDirective", - "scope": 641, - "sourceUnit": 7166, - "src": "114:52:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "@openzeppelin/contracts/math/SafeMath.sol", - "id": 110, - "nodeType": "ImportDirective", - "scope": 641, - "sourceUnit": 6904, - "src": "168:51:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "file": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "id": 111, - "nodeType": "ImportDirective", - "scope": 641, - "sourceUnit": 6920, - "src": "221:66:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC165.sol", - "file": "./ERC165.sol", - "id": 112, - "nodeType": "ImportDirective", - "scope": 641, - "sourceUnit": 106, - "src": "291:22:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/util/Pausable.sol", - "file": "../util/Pausable.sol", - "id": 113, - "nodeType": "ImportDirective", - "scope": 641, - "sourceUnit": 1624, - "src": "315:30:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 114, - "name": "ERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 105, - "src": "497:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC165_$105", - "typeString": "contract ERC165" - } - }, - "id": 115, - "nodeType": "InheritanceSpecifier", - "src": "497:6:2" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 116, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1623, - "src": "505:8:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$1623", - "typeString": "contract Pausable" - } - }, - "id": 117, - "nodeType": "InheritanceSpecifier", - "src": "505:8:2" - } - ], - "contractDependencies": [ - 105, - 1538, - 1623 - ], - "contractKind": "contract", - "documentation": "@title ERC721 Non-Fungible Token Standard basic implementation\n@dev see https://eips.ethereum.org/EIPS/eip-721", - "fullyImplemented": true, - "id": 640, - "linearizedBaseContracts": [ - 640, - 1623, - 1538, - 105 - ], - "name": "ERC721", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 120, - "libraryName": { - "contractScope": null, - "id": 118, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6903, - "src": "527:8:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$6903", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "521:27:2", - "typeName": { - "id": 119, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "540:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 123, - "libraryName": { - "contractScope": null, - "id": 121, - "name": "Address", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7116, - "src": "560:7:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$7116", - "typeString": "library Address" - } - }, - "nodeType": "UsingForDirective", - "src": "554:26:2", - "typeName": { - "id": 122, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "572:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "id": 126, - "libraryName": { - "contractScope": null, - "id": 124, - "name": "Counters", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7165, - "src": "592:8:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Counters_$7165", - "typeString": "library Counters" - } - }, - "nodeType": "UsingForDirective", - "src": "586:36:2", - "typeName": { - "contractScope": null, - "id": 125, - "name": "Counters.Counter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7125, - "src": "605:16:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter" - } - } - }, - { - "anonymous": false, - "documentation": null, - "id": 134, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 133, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 128, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 134, - "src": "655:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 127, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "655:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 130, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 134, - "src": "686:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 129, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "686:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 132, - "indexed": true, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 134, - "src": "715:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 131, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "715:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "644:101:2" - }, - "src": "630:116:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 142, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 141, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 136, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 142, - "src": "779:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 135, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "779:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 138, - "indexed": true, - "name": "approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 142, - "src": "811:24:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 137, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "811:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 140, - "indexed": true, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 142, - "src": "846:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "846:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "768:108:2" - }, - "src": "754:123:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 150, - "name": "ApprovalForAll", - "nodeType": "EventDefinition", - "parameters": { - "id": 149, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 144, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 150, - "src": "916:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 143, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "916:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 146, - "indexed": true, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 150, - "src": "948:24:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 145, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "948:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 148, - "indexed": false, - "name": "approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 150, - "src": "983:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 147, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "983:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "905:98:2" - }, - "src": "885:119:2" - }, - { - "constant": true, - "id": 153, - "name": "_ERC721_RECEIVED", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 640, - "src": "1186:53:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 151, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1186:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783135306237613032", - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1229:10:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_353073666_by_1", - "typeString": "int_const 353073666" - }, - "value": "0x150b7a02" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 157, - "name": "_tokenOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 640, - "src": "1287:47:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 156, - "keyType": { - "id": 154, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1295:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1287:27:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 155, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1306:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 161, - "name": "_tokenApprovals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 640, - "src": "1393:51:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 160, - "keyType": { - "id": 158, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1401:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1393:27:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 159, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1412:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 165, - "name": "_ownedTokensCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 640, - "src": "1861:62:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Counter_$7125_storage_$", - "typeString": "mapping(address => struct Counters.Counter)" - }, - "typeName": { - "id": 164, - "keyType": { - "id": 162, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1869:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1861:36:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Counter_$7125_storage_$", - "typeString": "mapping(address => struct Counters.Counter)" - }, - "valueType": { - "contractScope": null, - "id": 163, - "name": "Counters.Counter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7125, - "src": "1880:16:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 171, - "name": "_operatorApprovals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 640, - "src": "1981:71:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "typeName": { - "id": 170, - "keyType": { - "id": 166, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1989:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1981:44:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "valueType": { - "id": 169, - "keyType": { - "id": 167, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2008:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2000:24:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 168, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2019:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": true, - "id": 174, - "name": "_INTERFACE_ID_ERC721", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 640, - "src": "2061:57:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 172, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "2061:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783830616335386364", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2108:10:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2158778573_by_1", - "typeString": "int_const 2158778573" - }, - "value": "0x80ac58cd" - }, - "visibility": "private" - }, - { - "body": { - "id": 181, - "nodeType": "Block", - "src": "2245:59:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 178, - "name": "_INTERFACE_ID_ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 174, - "src": "2275:20:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 177, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 104, - "src": "2256:18:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2256:40:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 180, - "nodeType": "ExpressionStatement", - "src": "2256:40:2" - } - ] - }, - "documentation": "@dev Initializes the contract by registering the supported interfaces.", - "id": 182, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 175, - "nodeType": "ParameterList", - "parameters": [], - "src": "2235:2:2" - }, - "returnParameters": { - "id": 176, - "nodeType": "ParameterList", - "parameters": [], - "src": "2245:0:2" - }, - "scope": 640, - "src": "2224:80:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 205, - "nodeType": "Block", - "src": "2376:184:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 190, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 184, - "src": "2409:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 193, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2426:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2418:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 191, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2418:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 194, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2418:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2409:19:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a2062616c616e636520717565727920666f7220746865207a65726f2061646472657373", - "id": 196, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2443:44:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba", - "typeString": "literal_string \"ERC721: balance query for the zero address\"" - }, - "value": "ERC721: balance query for the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba", - "typeString": "literal_string \"ERC721: balance query for the zero address\"" - } - ], - "id": 189, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2387:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2387:111:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 198, - "nodeType": "ExpressionStatement", - "src": "2387:111:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 199, - "name": "_ownedTokensCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 165, - "src": "2518:17:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Counter_$7125_storage_$", - "typeString": "mapping(address => struct Counters.Counter storage ref)" - } - }, - "id": 201, - "indexExpression": { - "argumentTypes": null, - "id": 200, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 184, - "src": "2536:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2518:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage", - "typeString": "struct Counters.Counter storage ref" - } - }, - "id": 202, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "current", - "nodeType": "MemberAccess", - "referencedDeclaration": 7136, - "src": "2518:32:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$7125_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$7125_storage_ptr_$", - "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)" - } - }, - "id": 203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2518:34:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 188, - "id": 204, - "nodeType": "Return", - "src": "2511:41:2" - } - ] - }, - "documentation": null, - "functionSelector": "70a08231", - "id": 206, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 185, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 184, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 206, - "src": "2331:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 183, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2331:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2330:15:2" - }, - "returnParameters": { - "id": 188, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 187, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 206, - "src": "2367:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 186, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2367:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2366:9:2" - }, - "scope": 640, - "src": "2312:248:2", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 217, - "nodeType": "Block", - "src": "2632:46:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 213, - "name": "_tokenOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "2650:11:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 215, - "indexExpression": { - "argumentTypes": null, - "id": 214, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 208, - "src": "2662:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2650:20:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 212, - "id": 216, - "nodeType": "Return", - "src": "2643:27:2" - } - ] - }, - "documentation": null, - "functionSelector": "6352211e", - "id": 218, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ownerOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 209, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 208, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 218, - "src": "2585:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 207, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2585:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2584:17:2" - }, - "returnParameters": { - "id": 212, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 211, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 218, - "src": "2623:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 210, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2623:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2622:9:2" - }, - "scope": 640, - "src": "2568:110:2", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 273, - "nodeType": "Block", - "src": "3209:517:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 227, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3250:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 226, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 429, - "src": "3242:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3242:16:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f7665207265717565737420666f72206e6f6e6578697374656e7420746f6b656e", - "id": 229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3273:47:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f0abd46a1dd69ab1916097dc4e4a7a6fee20a6219a91e6c7dee6324f74a2767e", - "typeString": "literal_string \"ERC721: approve request for nonexistent token\"" - }, - "value": "ERC721: approve request for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f0abd46a1dd69ab1916097dc4e4a7a6fee20a6219a91e6c7dee6324f74a2767e", - "typeString": "literal_string \"ERC721: approve request for nonexistent token\"" - } - ], - "id": 225, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3220:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3220:111:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 231, - "nodeType": "ExpressionStatement", - "src": "3220:111:2" - }, - { - "assignments": [ - 233 - ], - "declarations": [ - { - "constant": false, - "id": 233, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 273, - "src": "3344:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 232, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3344:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 237, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 235, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3368:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 234, - "name": "ownerOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 218, - "src": "3360:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3360:16:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3344:32:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 239, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "3395:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 240, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3401:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3395:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572", - "id": 242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3408:35:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", - "typeString": "literal_string \"ERC721: approval to current owner\"" - }, - "value": "ERC721: approval to current owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", - "typeString": "literal_string \"ERC721: approval to current owner\"" - } - ], - "id": 238, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3387:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3387:57:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 244, - "nodeType": "ExpressionStatement", - "src": "3387:57:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 246, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3479:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3479:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 248, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3493:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3479:19:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 251, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3519:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 252, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3526:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3526:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 250, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "3502:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3502:35:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3479:58:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c", - "id": 256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3552:58:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", - "typeString": "literal_string \"ERC721: approve caller is not owner nor approved for all\"" - }, - "value": "ERC721: approve caller is not owner nor approved for all" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", - "typeString": "literal_string \"ERC721: approve caller is not owner nor approved for all\"" - } - ], - "id": 245, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3457:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3457:164:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 258, - "nodeType": "ExpressionStatement", - "src": "3457:164:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 259, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 161, - "src": "3634:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 261, - "indexExpression": { - "argumentTypes": null, - "id": 260, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3650:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3634:24:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 262, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "3661:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3634:29:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 264, - "nodeType": "ExpressionStatement", - "src": "3634:29:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 267, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3696:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 266, - "name": "ownerOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 218, - "src": "3688:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3688:16:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 269, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "3706:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 270, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3710:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 265, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 142, - "src": "3679:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3679:39:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 272, - "nodeType": "EmitStatement", - "src": "3674:44:2" - } - ] - }, - "documentation": "@dev Gives permission to `to` to transfer `tokenId` token to another account.\nThe approval is cleared when the token is transferred.\n\n * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n\n * Requirements:\n\n * - The caller must own the token or be an approved operator.\n- `tokenId` must exist.\n\n * Emits an {Approval} event.", - "functionSelector": "095ea7b3", - "id": 274, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 223, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 220, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 274, - "src": "3173:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 219, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3173:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 222, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 274, - "src": "3185:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 221, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3185:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3172:29:2" - }, - "returnParameters": { - "id": 224, - "nodeType": "ParameterList", - "parameters": [], - "src": "3209:0:2" - }, - "scope": 640, - "src": "3156:570:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 292, - "nodeType": "Block", - "src": "3883:173:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 283, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 276, - "src": "3924:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 282, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 429, - "src": "3916:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3916:16:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3947:46:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", - "typeString": "literal_string \"ERC721: approved query for nonexistent token\"" - }, - "value": "ERC721: approved query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", - "typeString": "literal_string \"ERC721: approved query for nonexistent token\"" - } - ], - "id": 281, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3894:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3894:110:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 287, - "nodeType": "ExpressionStatement", - "src": "3894:110:2" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 288, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 161, - "src": "4024:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 290, - "indexExpression": { - "argumentTypes": null, - "id": 289, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 276, - "src": "4040:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4024:24:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 280, - "id": 291, - "nodeType": "Return", - "src": "4017:31:2" - } - ] - }, - "documentation": "@dev Returns the account approved for `tokenId` token.", - "functionSelector": "081812fc", - "id": 293, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 276, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 293, - "src": "3836:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 275, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3836:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3835:17:2" - }, - "returnParameters": { - "id": 280, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 279, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 293, - "src": "3874:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 278, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3874:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3873:9:2" - }, - "scope": 640, - "src": "3815:241:2", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 323, - "nodeType": "Block", - "src": "4417:156:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 301, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "4436:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 302, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4442:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4442:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "4436:16:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 300, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4428:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4428:25:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 306, - "nodeType": "ExpressionStatement", - "src": "4428:25:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 307, - "name": "_operatorApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 171, - "src": "4464:18:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 311, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 308, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4483:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4483:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4464:30:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 312, - "indexExpression": { - "argumentTypes": null, - "id": 310, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "4495:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4464:34:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 313, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 297, - "src": "4501:8:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4464:45:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 315, - "nodeType": "ExpressionStatement", - "src": "4464:45:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 317, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4540:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4540:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 319, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "4552:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 320, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 297, - "src": "4556:8:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 316, - "name": "ApprovalForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 150, - "src": "4525:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,address,bool)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4525:40:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 322, - "nodeType": "EmitStatement", - "src": "4520:45:2" - } - ] - }, - "documentation": "@dev Sets or unsets the approval of a given operator\nAn operator is allowed to transfer all tokens of the sender on their behalf\n@param to operator address to set the approval\n@param approved representing the status of the approval to be set", - "functionSelector": "a22cb465", - "id": 324, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 298, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 295, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 324, - "src": "4383:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 294, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4383:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 297, - "name": "approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 324, - "src": "4395:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 296, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4395:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4382:27:2" - }, - "returnParameters": { - "id": 299, - "nodeType": "ParameterList", - "parameters": [], - "src": "4417:0:2" - }, - "scope": 640, - "src": "4356:217:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 339, - "nodeType": "Block", - "src": "5020:61:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 333, - "name": "_operatorApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 171, - "src": "5038:18:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 335, - "indexExpression": { - "argumentTypes": null, - "id": 334, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 326, - "src": "5057:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5038:25:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 337, - "indexExpression": { - "argumentTypes": null, - "id": 336, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 328, - "src": "5064:8:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5038:35:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 332, - "id": 338, - "nodeType": "Return", - "src": "5031:42:2" - } - ] - }, - "documentation": "@dev Tells whether an operator is approved by a given owner\n@param owner owner address which you want to query the approval of\n@param operator operator address which you want to query the approval of\n@return bool whether the given operator is approved by the given owner", - "functionSelector": "e985e9c5", - "id": 340, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 329, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 326, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 340, - "src": "4928:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 325, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4928:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 328, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 340, - "src": "4943:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4943:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4927:33:2" - }, - "returnParameters": { - "id": 332, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 331, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 340, - "src": "5009:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 330, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5009:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5008:6:2" - }, - "scope": 640, - "src": "4902:179:2", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 363, - "nodeType": "Block", - "src": "5195:112:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 351, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5233:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5233:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 353, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "5245:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 350, - "name": "_isApprovedOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 461, - "src": "5214:18:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5214:39:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 349, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5206:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5206:48:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 356, - "nodeType": "ExpressionStatement", - "src": "5206:48:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 358, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "5281:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 359, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 344, - "src": "5287:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 360, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "5291:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 357, - "name": "_transferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 574, - "src": "5267:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5267:32:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 362, - "nodeType": "ExpressionStatement", - "src": "5267:32:2" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 364, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 347, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 342, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 364, - "src": "5121:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 341, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5121:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 344, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 364, - "src": "5144:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 343, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5144:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 346, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 364, - "src": "5165:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 345, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5165:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5110:77:2" - }, - "returnParameters": { - "id": 348, - "nodeType": "ParameterList", - "parameters": [], - "src": "5195:0:2" - }, - "scope": 640, - "src": "5089:218:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 380, - "nodeType": "Block", - "src": "5425:58:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 374, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "5453:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 375, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 368, - "src": "5459:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 376, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "5463:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5472:2:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "id": 373, - "name": "safeTransferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 381, - 408 - ], - "referencedDeclaration": 408, - "src": "5436:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,bytes memory)" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5436:39:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 379, - "nodeType": "ExpressionStatement", - "src": "5436:39:2" - } - ] - }, - "documentation": null, - "functionSelector": "42842e0e", - "id": 381, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 366, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 381, - "src": "5351:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 365, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5351:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 368, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 381, - "src": "5374:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 367, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5374:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 370, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 381, - "src": "5395:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 369, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5395:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5340:77:2" - }, - "returnParameters": { - "id": 372, - "nodeType": "ParameterList", - "parameters": [], - "src": "5425:0:2" - }, - "scope": 640, - "src": "5315:168:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 407, - "nodeType": "Block", - "src": "5630:118:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 393, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 383, - "src": "5654:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 394, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 385, - "src": "5660:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 395, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 387, - "src": "5664:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 392, - "name": "transferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "5641:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5641:31:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 397, - "nodeType": "ExpressionStatement", - "src": "5641:31:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 400, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 383, - "src": "5714:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 401, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 385, - "src": "5720:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 402, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 387, - "src": "5724:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 403, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "5733:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 399, - "name": "_checkOnERC721Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 614, - "src": "5691:22:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5691:48:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 398, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5683:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5683:57:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 406, - "nodeType": "ExpressionStatement", - "src": "5683:57:2" - } - ] - }, - "documentation": null, - "functionSelector": "b88d4fde", - "id": 408, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 390, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 383, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 408, - "src": "5527:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 382, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5527:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 385, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 408, - "src": "5550:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 384, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5550:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 387, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 408, - "src": "5571:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 386, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5571:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 389, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 408, - "src": "5597:18:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 388, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5597:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5516:106:2" - }, - "returnParameters": { - "id": 391, - "nodeType": "ParameterList", - "parameters": [], - "src": "5630:0:2" - }, - "scope": 640, - "src": "5491:257:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 428, - "nodeType": "Block", - "src": "6020:92:2", - "statements": [ - { - "assignments": [ - 416 - ], - "declarations": [ - { - "constant": false, - "id": 416, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 428, - "src": "6031:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 415, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6031:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 420, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 417, - "name": "_tokenOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "6047:11:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 419, - "indexExpression": { - "argumentTypes": null, - "id": 418, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 410, - "src": "6059:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6047:20:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6031:36:2" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 421, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "6085:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6102:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6094:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 422, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6094:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 425, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6094:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6085:19:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 414, - "id": 427, - "nodeType": "Return", - "src": "6078:26:2" - } - ] - }, - "documentation": "@dev Returns whether the specified token exists\n@param tokenId uint256 ID of the token to query the existence of\n@return bool whether the token exists", - "id": 429, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 411, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 410, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 429, - "src": "5966:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 409, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5966:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5965:17:2" - }, - "returnParameters": { - "id": 414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 413, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 429, - "src": "6014:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 412, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6014:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6013:6:2" - }, - "scope": 640, - "src": "5949:163:2", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 460, - "nodeType": "Block", - "src": "6604:184:2", - "statements": [ - { - "assignments": [ - 439 - ], - "declarations": [ - { - "constant": false, - "id": 439, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 460, - "src": "6615:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 438, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6615:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 443, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 441, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 433, - "src": "6639:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 440, - "name": "ownerOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 218, - "src": "6631:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6631:16:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6615:32:2" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 444, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "6666:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 445, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 439, - "src": "6677:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6666:16:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 448, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 433, - "src": "6711:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 447, - "name": "getApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "6699:11:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6699:20:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 450, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "6723:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6699:31:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6666:64:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 454, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 439, - "src": "6764:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 455, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "6771:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 453, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "6747:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6747:32:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6666:113:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 458, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6665:115:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 437, - "id": 459, - "nodeType": "Return", - "src": "6658:122:2" - } - ] - }, - "documentation": "@dev Returns whether the given spender can transfer a given token ID\n@param spender address of the spender to query\n@param tokenId uint256 ID of the token to be transferred\n@return bool whether the msg.sender is approved for the given token ID,\nis an operator of the owner, or is the owner of the token", - "id": 461, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isApprovedOrOwner", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 434, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 431, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 461, - "src": "6509:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 430, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6509:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 433, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 461, - "src": "6526:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 432, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6526:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6508:34:2" - }, - "returnParameters": { - "id": 437, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 436, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 461, - "src": "6593:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 435, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6593:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6592:6:2" - }, - "scope": 640, - "src": "6481:307:2", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 507, - "nodeType": "Block", - "src": "6972:282:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 469, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 463, - "src": "6991:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7005:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6997:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6997:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 473, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6997:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6991:16:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", - "id": 475, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7009:34:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", - "typeString": "literal_string \"ERC721: mint to the zero address\"" - }, - "value": "ERC721: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", - "typeString": "literal_string \"ERC721: mint to the zero address\"" - } - ], - "id": 468, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6983:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6983:61:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 477, - "nodeType": "ExpressionStatement", - "src": "6983:61:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "7063:17:2", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 480, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 465, - "src": "7072:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 479, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 429, - "src": "7064:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7064:16:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", - "id": 483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7082:30:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", - "typeString": "literal_string \"ERC721: token already minted\"" - }, - "value": "ERC721: token already minted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", - "typeString": "literal_string \"ERC721: token already minted\"" - } - ], - "id": 478, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7055:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7055:58:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 485, - "nodeType": "ExpressionStatement", - "src": "7055:58:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 486, - "name": "_tokenOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "7126:11:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 488, - "indexExpression": { - "argumentTypes": null, - "id": 487, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 465, - "src": "7138:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7126:20:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 489, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 463, - "src": "7149:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7126:25:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 491, - "nodeType": "ExpressionStatement", - "src": "7126:25:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 492, - "name": "_ownedTokensCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 165, - "src": "7162:17:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Counter_$7125_storage_$", - "typeString": "mapping(address => struct Counters.Counter storage ref)" - } - }, - "id": 494, - "indexExpression": { - "argumentTypes": null, - "id": 493, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 463, - "src": "7180:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7162:21:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage", - "typeString": "struct Counters.Counter storage ref" - } - }, - "id": 495, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "increment", - "nodeType": "MemberAccess", - "referencedDeclaration": 7148, - "src": "7162:31:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$7125_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$7125_storage_ptr_$", - "typeString": "function (struct Counters.Counter storage pointer)" - } - }, - "id": 496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7162:33:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 497, - "nodeType": "ExpressionStatement", - "src": "7162:33:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 501, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7230:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 500, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7222:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 499, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7222:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 502, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7222:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 503, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 463, - "src": "7234:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 504, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 465, - "src": "7238:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 498, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "7213:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7213:33:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 506, - "nodeType": "EmitStatement", - "src": "7208:38:2" - } - ] - }, - "documentation": "@dev Mints `tokenId` and transfers it to `to`.\n\n * Emits a {Transfer} event.", - "id": 508, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 466, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 463, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 508, - "src": "6926:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 462, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6926:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 465, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 508, - "src": "6938:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 464, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6938:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6925:29:2" - }, - "returnParameters": { - "id": 467, - "nodeType": "ParameterList", - "parameters": [], - "src": "6972:0:2" - }, - "scope": 640, - "src": "6911:343:2", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 573, - "nodeType": "Block", - "src": "7499:568:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 519, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7551:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7551:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 521, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "7563:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 518, - "name": "_isApprovedOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 461, - "src": "7532:18:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7532:39:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7586:51:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", - "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" - }, - "value": "ERC721: transfer caller is not owner nor approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", - "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" - } - ], - "id": 517, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7510:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7510:138:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 525, - "nodeType": "ExpressionStatement", - "src": "7510:138:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 528, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "7689:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 527, - "name": "ownerOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 218, - "src": "7681:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7681:16:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 530, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "7701:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7681:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e", - "id": 532, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7720:43:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950", - "typeString": "literal_string \"ERC721: transfer of token that is not own\"" - }, - "value": "ERC721: transfer of token that is not own" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950", - "typeString": "literal_string \"ERC721: transfer of token that is not own\"" - } - ], - "id": 526, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7659:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7659:115:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 534, - "nodeType": "ExpressionStatement", - "src": "7659:115:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 536, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 512, - "src": "7793:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 539, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7807:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 538, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7799:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 537, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7799:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 540, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7799:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7793:16:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7811:38:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", - "typeString": "literal_string \"ERC721: transfer to the zero address\"" - }, - "value": "ERC721: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", - "typeString": "literal_string \"ERC721: transfer to the zero address\"" - } - ], - "id": 535, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7785:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7785:65:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 544, - "nodeType": "ExpressionStatement", - "src": "7785:65:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 546, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "7878:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 545, - "name": "_clearApproval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "7863:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7863:23:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 548, - "nodeType": "ExpressionStatement", - "src": "7863:23:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 549, - "name": "_tokenOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "7899:11:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 551, - "indexExpression": { - "argumentTypes": null, - "id": 550, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "7911:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7899:20:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 552, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 512, - "src": "7922:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7899:25:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 554, - "nodeType": "ExpressionStatement", - "src": "7899:25:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 555, - "name": "_ownedTokensCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 165, - "src": "7935:17:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Counter_$7125_storage_$", - "typeString": "mapping(address => struct Counters.Counter storage ref)" - } - }, - "id": 557, - "indexExpression": { - "argumentTypes": null, - "id": 556, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "7953:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7935:23:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage", - "typeString": "struct Counters.Counter storage ref" - } - }, - "id": 558, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "decrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 7164, - "src": "7935:33:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$7125_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$7125_storage_ptr_$", - "typeString": "function (struct Counters.Counter storage pointer)" - } - }, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7935:35:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 560, - "nodeType": "ExpressionStatement", - "src": "7935:35:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 561, - "name": "_ownedTokensCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 165, - "src": "7981:17:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Counter_$7125_storage_$", - "typeString": "mapping(address => struct Counters.Counter storage ref)" - } - }, - "id": 563, - "indexExpression": { - "argumentTypes": null, - "id": 562, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 512, - "src": "7999:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7981:21:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage", - "typeString": "struct Counters.Counter storage ref" - } - }, - "id": 564, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "increment", - "nodeType": "MemberAccess", - "referencedDeclaration": 7148, - "src": "7981:31:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$7125_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$7125_storage_ptr_$", - "typeString": "function (struct Counters.Counter storage pointer)" - } - }, - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7981:33:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 566, - "nodeType": "ExpressionStatement", - "src": "7981:33:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 568, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "8041:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 569, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 512, - "src": "8047:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 570, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "8051:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 567, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "8032:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8032:27:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 572, - "nodeType": "EmitStatement", - "src": "8027:32:2" - } - ] - }, - "documentation": "@dev Transfers `tokenId` token from `from` to `to`.\n\n * Emits a {Transfer} event.", - "id": 574, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 515, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 510, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 574, - "src": "7415:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 509, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7415:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 512, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 574, - "src": "7438:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 511, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7438:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 514, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 574, - "src": "7459:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 513, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7459:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7404:77:2" - }, - "returnParameters": { - "id": 516, - "nodeType": "ParameterList", - "parameters": [], - "src": "7499:0:2" - }, - "scope": 640, - "src": "7382:685:2", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 613, - "nodeType": "Block", - "src": "8768:286:2", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "8783:16:2", - "subExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 587, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 578, - "src": "8784:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isContract", - "nodeType": "MemberAccess", - "referencedDeclaration": 6946, - "src": "8784:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8784:15:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 594, - "nodeType": "IfStatement", - "src": "8779:60:2", - "trueBody": { - "id": 593, - "nodeType": "Block", - "src": "8801:38:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8823:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 586, - "id": 592, - "nodeType": "Return", - "src": "8816:11:2" - } - ] - } - }, - { - "assignments": [ - 596 - ], - "declarations": [ - { - "constant": false, - "id": 596, - "name": "retval", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 613, - "src": "8851:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 595, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "8851:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 607, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 601, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8918:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8918:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 603, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "8943:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 604, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 580, - "src": "8962:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 605, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 582, - "src": "8984:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 598, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 578, - "src": "8883:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 597, - "name": "IERC721Receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6919, - "src": "8867:15:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$6919_$", - "typeString": "type(contract IERC721Receiver)" - } - }, - "id": 599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8867:19:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721Receiver_$6919", - "typeString": "contract IERC721Receiver" - } - }, - "id": 600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onERC721Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 6918, - "src": "8867:36:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,address,uint256,bytes memory) external returns (bytes4)" - } - }, - "id": 606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8867:133:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8851:149:2" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 608, - "name": "retval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 596, - "src": "9019:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 609, - "name": "_ERC721_RECEIVED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "9029:16:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "9019:26:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 611, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9018:28:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 586, - "id": 612, - "nodeType": "Return", - "src": "9011:35:2" - } - ] - }, - "documentation": "@dev Internal function to invoke `onERC721Received` on a target address\nThe call is not executed if the target address is not a contract\n@param from address representing the previous owner of the given token ID\n@param to target address that will receive the tokens\n@param tokenId uint256 ID of the token to be transferred\n@param _data bytes optional data to send along with the call\n@return bool whether the call correctly returned the expected magic value", - "id": 614, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkOnERC721Received", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 583, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 576, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 614, - "src": "8648:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 575, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8648:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 578, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 614, - "src": "8671:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 577, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8671:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 580, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 614, - "src": "8692:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 579, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8692:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 582, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 614, - "src": "8718:18:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 581, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8718:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8637:106:2" - }, - "returnParameters": { - "id": 586, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 585, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 614, - "src": "8762:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 584, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8762:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8761:6:2" - }, - "scope": 640, - "src": "8606:448:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 638, - "nodeType": "Block", - "src": "9187:126:2", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 619, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 161, - "src": "9202:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 621, - "indexExpression": { - "argumentTypes": null, - "id": 620, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 616, - "src": "9218:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9202:24:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 624, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9238:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 623, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9230:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9230:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9230:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "9202:38:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 637, - "nodeType": "IfStatement", - "src": "9198:108:2", - "trueBody": { - "id": 636, - "nodeType": "Block", - "src": "9242:64:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 627, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 161, - "src": "9257:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 629, - "indexExpression": { - "argumentTypes": null, - "id": 628, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 616, - "src": "9273:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9257:24:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9292:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9284:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 630, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9284:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9284:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "9257:37:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 635, - "nodeType": "ExpressionStatement", - "src": "9257:37:2" - } - ] - } - } - ] - }, - "documentation": null, - "id": 639, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_clearApproval", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 616, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 639, - "src": "9162:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9162:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9161:17:2" - }, - "returnParameters": { - "id": 618, - "nodeType": "ParameterList", - "parameters": [], - "src": "9187:0:2" - }, - "scope": 640, - "src": "9138:175:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - } - ], - "scope": 641, - "src": "478:8838:2" - } - ], - "src": "35:9283:2" - }, - "legacyAST": { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721.sol", - "exportedSymbols": { - "ERC721": [ - 640 - ] - }, - "id": 641, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 107, - "literals": [ - "solidity", - "0.6", - ".2" - ], - "nodeType": "PragmaDirective", - "src": "35:22:2" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Address.sol", - "file": "@openzeppelin/contracts/utils/Address.sol", - "id": 108, - "nodeType": "ImportDirective", - "scope": 641, - "sourceUnit": 7117, - "src": "61:51:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Counters.sol", - "file": "@openzeppelin/contracts/utils/Counters.sol", - "id": 109, - "nodeType": "ImportDirective", - "scope": 641, - "sourceUnit": 7166, - "src": "114:52:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "@openzeppelin/contracts/math/SafeMath.sol", - "id": 110, - "nodeType": "ImportDirective", - "scope": 641, - "sourceUnit": 6904, - "src": "168:51:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "file": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "id": 111, - "nodeType": "ImportDirective", - "scope": 641, - "sourceUnit": 6920, - "src": "221:66:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC165.sol", - "file": "./ERC165.sol", - "id": 112, - "nodeType": "ImportDirective", - "scope": 641, - "sourceUnit": 106, - "src": "291:22:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/util/Pausable.sol", - "file": "../util/Pausable.sol", - "id": 113, - "nodeType": "ImportDirective", - "scope": 641, - "sourceUnit": 1624, - "src": "315:30:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 114, - "name": "ERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 105, - "src": "497:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC165_$105", - "typeString": "contract ERC165" - } - }, - "id": 115, - "nodeType": "InheritanceSpecifier", - "src": "497:6:2" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 116, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1623, - "src": "505:8:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$1623", - "typeString": "contract Pausable" - } - }, - "id": 117, - "nodeType": "InheritanceSpecifier", - "src": "505:8:2" - } - ], - "contractDependencies": [ - 105, - 1538, - 1623 - ], - "contractKind": "contract", - "documentation": "@title ERC721 Non-Fungible Token Standard basic implementation\n@dev see https://eips.ethereum.org/EIPS/eip-721", - "fullyImplemented": true, - "id": 640, - "linearizedBaseContracts": [ - 640, - 1623, - 1538, - 105 - ], - "name": "ERC721", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 120, - "libraryName": { - "contractScope": null, - "id": 118, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6903, - "src": "527:8:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$6903", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "521:27:2", - "typeName": { - "id": 119, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "540:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 123, - "libraryName": { - "contractScope": null, - "id": 121, - "name": "Address", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7116, - "src": "560:7:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$7116", - "typeString": "library Address" - } - }, - "nodeType": "UsingForDirective", - "src": "554:26:2", - "typeName": { - "id": 122, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "572:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "id": 126, - "libraryName": { - "contractScope": null, - "id": 124, - "name": "Counters", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7165, - "src": "592:8:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Counters_$7165", - "typeString": "library Counters" - } - }, - "nodeType": "UsingForDirective", - "src": "586:36:2", - "typeName": { - "contractScope": null, - "id": 125, - "name": "Counters.Counter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7125, - "src": "605:16:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter" - } - } - }, - { - "anonymous": false, - "documentation": null, - "id": 134, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 133, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 128, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 134, - "src": "655:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 127, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "655:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 130, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 134, - "src": "686:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 129, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "686:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 132, - "indexed": true, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 134, - "src": "715:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 131, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "715:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "644:101:2" - }, - "src": "630:116:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 142, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 141, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 136, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 142, - "src": "779:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 135, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "779:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 138, - "indexed": true, - "name": "approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 142, - "src": "811:24:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 137, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "811:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 140, - "indexed": true, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 142, - "src": "846:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "846:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "768:108:2" - }, - "src": "754:123:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 150, - "name": "ApprovalForAll", - "nodeType": "EventDefinition", - "parameters": { - "id": 149, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 144, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 150, - "src": "916:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 143, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "916:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 146, - "indexed": true, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 150, - "src": "948:24:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 145, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "948:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 148, - "indexed": false, - "name": "approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 150, - "src": "983:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 147, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "983:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "905:98:2" - }, - "src": "885:119:2" - }, - { - "constant": true, - "id": 153, - "name": "_ERC721_RECEIVED", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 640, - "src": "1186:53:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 151, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1186:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783135306237613032", - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1229:10:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_353073666_by_1", - "typeString": "int_const 353073666" - }, - "value": "0x150b7a02" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 157, - "name": "_tokenOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 640, - "src": "1287:47:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 156, - "keyType": { - "id": 154, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1295:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1287:27:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 155, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1306:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 161, - "name": "_tokenApprovals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 640, - "src": "1393:51:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 160, - "keyType": { - "id": 158, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1401:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1393:27:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 159, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1412:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 165, - "name": "_ownedTokensCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 640, - "src": "1861:62:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Counter_$7125_storage_$", - "typeString": "mapping(address => struct Counters.Counter)" - }, - "typeName": { - "id": 164, - "keyType": { - "id": 162, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1869:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1861:36:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Counter_$7125_storage_$", - "typeString": "mapping(address => struct Counters.Counter)" - }, - "valueType": { - "contractScope": null, - "id": 163, - "name": "Counters.Counter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7125, - "src": "1880:16:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage_ptr", - "typeString": "struct Counters.Counter" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 171, - "name": "_operatorApprovals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 640, - "src": "1981:71:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "typeName": { - "id": 170, - "keyType": { - "id": 166, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1989:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1981:44:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "valueType": { - "id": 169, - "keyType": { - "id": 167, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2008:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2000:24:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 168, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2019:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": true, - "id": 174, - "name": "_INTERFACE_ID_ERC721", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 640, - "src": "2061:57:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 172, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "2061:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783830616335386364", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2108:10:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2158778573_by_1", - "typeString": "int_const 2158778573" - }, - "value": "0x80ac58cd" - }, - "visibility": "private" - }, - { - "body": { - "id": 181, - "nodeType": "Block", - "src": "2245:59:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 178, - "name": "_INTERFACE_ID_ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 174, - "src": "2275:20:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 177, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 104, - "src": "2256:18:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2256:40:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 180, - "nodeType": "ExpressionStatement", - "src": "2256:40:2" - } - ] - }, - "documentation": "@dev Initializes the contract by registering the supported interfaces.", - "id": 182, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 175, - "nodeType": "ParameterList", - "parameters": [], - "src": "2235:2:2" - }, - "returnParameters": { - "id": 176, - "nodeType": "ParameterList", - "parameters": [], - "src": "2245:0:2" - }, - "scope": 640, - "src": "2224:80:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 205, - "nodeType": "Block", - "src": "2376:184:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 190, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 184, - "src": "2409:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 193, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2426:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2418:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 191, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2418:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 194, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2418:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2409:19:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a2062616c616e636520717565727920666f7220746865207a65726f2061646472657373", - "id": 196, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2443:44:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba", - "typeString": "literal_string \"ERC721: balance query for the zero address\"" - }, - "value": "ERC721: balance query for the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba", - "typeString": "literal_string \"ERC721: balance query for the zero address\"" - } - ], - "id": 189, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2387:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2387:111:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 198, - "nodeType": "ExpressionStatement", - "src": "2387:111:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 199, - "name": "_ownedTokensCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 165, - "src": "2518:17:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Counter_$7125_storage_$", - "typeString": "mapping(address => struct Counters.Counter storage ref)" - } - }, - "id": 201, - "indexExpression": { - "argumentTypes": null, - "id": 200, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 184, - "src": "2536:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2518:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage", - "typeString": "struct Counters.Counter storage ref" - } - }, - "id": 202, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "current", - "nodeType": "MemberAccess", - "referencedDeclaration": 7136, - "src": "2518:32:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$7125_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$7125_storage_ptr_$", - "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)" - } - }, - "id": 203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2518:34:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 188, - "id": 204, - "nodeType": "Return", - "src": "2511:41:2" - } - ] - }, - "documentation": null, - "functionSelector": "70a08231", - "id": 206, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 185, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 184, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 206, - "src": "2331:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 183, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2331:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2330:15:2" - }, - "returnParameters": { - "id": 188, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 187, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 206, - "src": "2367:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 186, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2367:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2366:9:2" - }, - "scope": 640, - "src": "2312:248:2", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 217, - "nodeType": "Block", - "src": "2632:46:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 213, - "name": "_tokenOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "2650:11:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 215, - "indexExpression": { - "argumentTypes": null, - "id": 214, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 208, - "src": "2662:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2650:20:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 212, - "id": 216, - "nodeType": "Return", - "src": "2643:27:2" - } - ] - }, - "documentation": null, - "functionSelector": "6352211e", - "id": 218, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ownerOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 209, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 208, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 218, - "src": "2585:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 207, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2585:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2584:17:2" - }, - "returnParameters": { - "id": 212, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 211, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 218, - "src": "2623:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 210, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2623:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2622:9:2" - }, - "scope": 640, - "src": "2568:110:2", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 273, - "nodeType": "Block", - "src": "3209:517:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 227, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3250:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 226, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 429, - "src": "3242:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3242:16:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f7665207265717565737420666f72206e6f6e6578697374656e7420746f6b656e", - "id": 229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3273:47:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f0abd46a1dd69ab1916097dc4e4a7a6fee20a6219a91e6c7dee6324f74a2767e", - "typeString": "literal_string \"ERC721: approve request for nonexistent token\"" - }, - "value": "ERC721: approve request for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f0abd46a1dd69ab1916097dc4e4a7a6fee20a6219a91e6c7dee6324f74a2767e", - "typeString": "literal_string \"ERC721: approve request for nonexistent token\"" - } - ], - "id": 225, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3220:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3220:111:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 231, - "nodeType": "ExpressionStatement", - "src": "3220:111:2" - }, - { - "assignments": [ - 233 - ], - "declarations": [ - { - "constant": false, - "id": 233, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 273, - "src": "3344:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 232, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3344:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 237, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 235, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3368:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 234, - "name": "ownerOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 218, - "src": "3360:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3360:16:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3344:32:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 239, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "3395:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 240, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3401:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3395:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572", - "id": 242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3408:35:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", - "typeString": "literal_string \"ERC721: approval to current owner\"" - }, - "value": "ERC721: approval to current owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", - "typeString": "literal_string \"ERC721: approval to current owner\"" - } - ], - "id": 238, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3387:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3387:57:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 244, - "nodeType": "ExpressionStatement", - "src": "3387:57:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 246, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3479:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3479:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 248, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3493:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3479:19:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 251, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3519:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 252, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3526:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3526:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 250, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "3502:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3502:35:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3479:58:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c", - "id": 256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3552:58:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", - "typeString": "literal_string \"ERC721: approve caller is not owner nor approved for all\"" - }, - "value": "ERC721: approve caller is not owner nor approved for all" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", - "typeString": "literal_string \"ERC721: approve caller is not owner nor approved for all\"" - } - ], - "id": 245, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3457:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3457:164:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 258, - "nodeType": "ExpressionStatement", - "src": "3457:164:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 259, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 161, - "src": "3634:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 261, - "indexExpression": { - "argumentTypes": null, - "id": 260, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3650:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3634:24:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 262, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "3661:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3634:29:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 264, - "nodeType": "ExpressionStatement", - "src": "3634:29:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 267, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3696:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 266, - "name": "ownerOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 218, - "src": "3688:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3688:16:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 269, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "3706:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 270, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "3710:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 265, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 142, - "src": "3679:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3679:39:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 272, - "nodeType": "EmitStatement", - "src": "3674:44:2" - } - ] - }, - "documentation": "@dev Gives permission to `to` to transfer `tokenId` token to another account.\nThe approval is cleared when the token is transferred.\n\n * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n\n * Requirements:\n\n * - The caller must own the token or be an approved operator.\n- `tokenId` must exist.\n\n * Emits an {Approval} event.", - "functionSelector": "095ea7b3", - "id": 274, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 223, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 220, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 274, - "src": "3173:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 219, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3173:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 222, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 274, - "src": "3185:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 221, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3185:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3172:29:2" - }, - "returnParameters": { - "id": 224, - "nodeType": "ParameterList", - "parameters": [], - "src": "3209:0:2" - }, - "scope": 640, - "src": "3156:570:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 292, - "nodeType": "Block", - "src": "3883:173:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 283, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 276, - "src": "3924:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 282, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 429, - "src": "3916:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3916:16:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3947:46:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", - "typeString": "literal_string \"ERC721: approved query for nonexistent token\"" - }, - "value": "ERC721: approved query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", - "typeString": "literal_string \"ERC721: approved query for nonexistent token\"" - } - ], - "id": 281, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3894:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3894:110:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 287, - "nodeType": "ExpressionStatement", - "src": "3894:110:2" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 288, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 161, - "src": "4024:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 290, - "indexExpression": { - "argumentTypes": null, - "id": 289, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 276, - "src": "4040:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4024:24:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 280, - "id": 291, - "nodeType": "Return", - "src": "4017:31:2" - } - ] - }, - "documentation": "@dev Returns the account approved for `tokenId` token.", - "functionSelector": "081812fc", - "id": 293, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 276, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 293, - "src": "3836:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 275, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3836:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3835:17:2" - }, - "returnParameters": { - "id": 280, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 279, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 293, - "src": "3874:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 278, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3874:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3873:9:2" - }, - "scope": 640, - "src": "3815:241:2", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 323, - "nodeType": "Block", - "src": "4417:156:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 301, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "4436:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 302, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4442:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4442:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "4436:16:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 300, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4428:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4428:25:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 306, - "nodeType": "ExpressionStatement", - "src": "4428:25:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 307, - "name": "_operatorApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 171, - "src": "4464:18:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 311, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 308, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4483:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4483:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4464:30:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 312, - "indexExpression": { - "argumentTypes": null, - "id": 310, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "4495:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4464:34:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 313, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 297, - "src": "4501:8:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4464:45:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 315, - "nodeType": "ExpressionStatement", - "src": "4464:45:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 317, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4540:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4540:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 319, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "4552:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 320, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 297, - "src": "4556:8:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 316, - "name": "ApprovalForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 150, - "src": "4525:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,address,bool)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4525:40:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 322, - "nodeType": "EmitStatement", - "src": "4520:45:2" - } - ] - }, - "documentation": "@dev Sets or unsets the approval of a given operator\nAn operator is allowed to transfer all tokens of the sender on their behalf\n@param to operator address to set the approval\n@param approved representing the status of the approval to be set", - "functionSelector": "a22cb465", - "id": 324, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 298, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 295, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 324, - "src": "4383:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 294, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4383:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 297, - "name": "approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 324, - "src": "4395:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 296, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4395:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4382:27:2" - }, - "returnParameters": { - "id": 299, - "nodeType": "ParameterList", - "parameters": [], - "src": "4417:0:2" - }, - "scope": 640, - "src": "4356:217:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 339, - "nodeType": "Block", - "src": "5020:61:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 333, - "name": "_operatorApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 171, - "src": "5038:18:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 335, - "indexExpression": { - "argumentTypes": null, - "id": 334, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 326, - "src": "5057:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5038:25:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 337, - "indexExpression": { - "argumentTypes": null, - "id": 336, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 328, - "src": "5064:8:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5038:35:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 332, - "id": 338, - "nodeType": "Return", - "src": "5031:42:2" - } - ] - }, - "documentation": "@dev Tells whether an operator is approved by a given owner\n@param owner owner address which you want to query the approval of\n@param operator operator address which you want to query the approval of\n@return bool whether the given operator is approved by the given owner", - "functionSelector": "e985e9c5", - "id": 340, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 329, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 326, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 340, - "src": "4928:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 325, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4928:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 328, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 340, - "src": "4943:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4943:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4927:33:2" - }, - "returnParameters": { - "id": 332, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 331, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 340, - "src": "5009:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 330, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5009:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5008:6:2" - }, - "scope": 640, - "src": "4902:179:2", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 363, - "nodeType": "Block", - "src": "5195:112:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 351, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5233:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5233:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 353, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "5245:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 350, - "name": "_isApprovedOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 461, - "src": "5214:18:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5214:39:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 349, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5206:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5206:48:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 356, - "nodeType": "ExpressionStatement", - "src": "5206:48:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 358, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "5281:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 359, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 344, - "src": "5287:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 360, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "5291:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 357, - "name": "_transferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 574, - "src": "5267:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5267:32:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 362, - "nodeType": "ExpressionStatement", - "src": "5267:32:2" - } - ] - }, - "documentation": null, - "functionSelector": "23b872dd", - "id": 364, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 347, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 342, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 364, - "src": "5121:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 341, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5121:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 344, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 364, - "src": "5144:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 343, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5144:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 346, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 364, - "src": "5165:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 345, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5165:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5110:77:2" - }, - "returnParameters": { - "id": 348, - "nodeType": "ParameterList", - "parameters": [], - "src": "5195:0:2" - }, - "scope": 640, - "src": "5089:218:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 380, - "nodeType": "Block", - "src": "5425:58:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 374, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "5453:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 375, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 368, - "src": "5459:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 376, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "5463:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5472:2:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "id": 373, - "name": "safeTransferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 381, - 408 - ], - "referencedDeclaration": 408, - "src": "5436:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,bytes memory)" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5436:39:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 379, - "nodeType": "ExpressionStatement", - "src": "5436:39:2" - } - ] - }, - "documentation": null, - "functionSelector": "42842e0e", - "id": 381, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 366, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 381, - "src": "5351:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 365, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5351:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 368, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 381, - "src": "5374:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 367, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5374:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 370, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 381, - "src": "5395:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 369, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5395:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5340:77:2" - }, - "returnParameters": { - "id": 372, - "nodeType": "ParameterList", - "parameters": [], - "src": "5425:0:2" - }, - "scope": 640, - "src": "5315:168:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 407, - "nodeType": "Block", - "src": "5630:118:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 393, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 383, - "src": "5654:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 394, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 385, - "src": "5660:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 395, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 387, - "src": "5664:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 392, - "name": "transferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "5641:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5641:31:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 397, - "nodeType": "ExpressionStatement", - "src": "5641:31:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 400, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 383, - "src": "5714:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 401, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 385, - "src": "5720:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 402, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 387, - "src": "5724:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 403, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "5733:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 399, - "name": "_checkOnERC721Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 614, - "src": "5691:22:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5691:48:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 398, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5683:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5683:57:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 406, - "nodeType": "ExpressionStatement", - "src": "5683:57:2" - } - ] - }, - "documentation": null, - "functionSelector": "b88d4fde", - "id": 408, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 390, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 383, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 408, - "src": "5527:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 382, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5527:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 385, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 408, - "src": "5550:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 384, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5550:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 387, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 408, - "src": "5571:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 386, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5571:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 389, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 408, - "src": "5597:18:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 388, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5597:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5516:106:2" - }, - "returnParameters": { - "id": 391, - "nodeType": "ParameterList", - "parameters": [], - "src": "5630:0:2" - }, - "scope": 640, - "src": "5491:257:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 428, - "nodeType": "Block", - "src": "6020:92:2", - "statements": [ - { - "assignments": [ - 416 - ], - "declarations": [ - { - "constant": false, - "id": 416, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 428, - "src": "6031:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 415, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6031:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 420, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 417, - "name": "_tokenOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "6047:11:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 419, - "indexExpression": { - "argumentTypes": null, - "id": 418, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 410, - "src": "6059:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6047:20:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6031:36:2" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 421, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 416, - "src": "6085:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6102:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6094:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 422, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6094:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 425, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6094:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6085:19:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 414, - "id": 427, - "nodeType": "Return", - "src": "6078:26:2" - } - ] - }, - "documentation": "@dev Returns whether the specified token exists\n@param tokenId uint256 ID of the token to query the existence of\n@return bool whether the token exists", - "id": 429, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 411, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 410, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 429, - "src": "5966:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 409, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5966:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5965:17:2" - }, - "returnParameters": { - "id": 414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 413, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 429, - "src": "6014:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 412, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6014:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6013:6:2" - }, - "scope": 640, - "src": "5949:163:2", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 460, - "nodeType": "Block", - "src": "6604:184:2", - "statements": [ - { - "assignments": [ - 439 - ], - "declarations": [ - { - "constant": false, - "id": 439, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 460, - "src": "6615:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 438, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6615:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 443, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 441, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 433, - "src": "6639:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 440, - "name": "ownerOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 218, - "src": "6631:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6631:16:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6615:32:2" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 444, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "6666:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 445, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 439, - "src": "6677:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6666:16:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 448, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 433, - "src": "6711:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 447, - "name": "getApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "6699:11:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6699:20:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 450, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "6723:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6699:31:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6666:64:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 454, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 439, - "src": "6764:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 455, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 431, - "src": "6771:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 453, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "6747:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6747:32:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6666:113:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 458, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6665:115:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 437, - "id": 459, - "nodeType": "Return", - "src": "6658:122:2" - } - ] - }, - "documentation": "@dev Returns whether the given spender can transfer a given token ID\n@param spender address of the spender to query\n@param tokenId uint256 ID of the token to be transferred\n@return bool whether the msg.sender is approved for the given token ID,\nis an operator of the owner, or is the owner of the token", - "id": 461, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isApprovedOrOwner", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 434, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 431, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 461, - "src": "6509:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 430, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6509:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 433, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 461, - "src": "6526:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 432, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6526:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6508:34:2" - }, - "returnParameters": { - "id": 437, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 436, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 461, - "src": "6593:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 435, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6593:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6592:6:2" - }, - "scope": 640, - "src": "6481:307:2", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 507, - "nodeType": "Block", - "src": "6972:282:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 469, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 463, - "src": "6991:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7005:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6997:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6997:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 473, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6997:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6991:16:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", - "id": 475, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7009:34:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", - "typeString": "literal_string \"ERC721: mint to the zero address\"" - }, - "value": "ERC721: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", - "typeString": "literal_string \"ERC721: mint to the zero address\"" - } - ], - "id": 468, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6983:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6983:61:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 477, - "nodeType": "ExpressionStatement", - "src": "6983:61:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "7063:17:2", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 480, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 465, - "src": "7072:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 479, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 429, - "src": "7064:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7064:16:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", - "id": 483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7082:30:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", - "typeString": "literal_string \"ERC721: token already minted\"" - }, - "value": "ERC721: token already minted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", - "typeString": "literal_string \"ERC721: token already minted\"" - } - ], - "id": 478, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7055:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7055:58:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 485, - "nodeType": "ExpressionStatement", - "src": "7055:58:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 486, - "name": "_tokenOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "7126:11:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 488, - "indexExpression": { - "argumentTypes": null, - "id": 487, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 465, - "src": "7138:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7126:20:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 489, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 463, - "src": "7149:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7126:25:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 491, - "nodeType": "ExpressionStatement", - "src": "7126:25:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 492, - "name": "_ownedTokensCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 165, - "src": "7162:17:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Counter_$7125_storage_$", - "typeString": "mapping(address => struct Counters.Counter storage ref)" - } - }, - "id": 494, - "indexExpression": { - "argumentTypes": null, - "id": 493, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 463, - "src": "7180:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7162:21:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage", - "typeString": "struct Counters.Counter storage ref" - } - }, - "id": 495, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "increment", - "nodeType": "MemberAccess", - "referencedDeclaration": 7148, - "src": "7162:31:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$7125_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$7125_storage_ptr_$", - "typeString": "function (struct Counters.Counter storage pointer)" - } - }, - "id": 496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7162:33:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 497, - "nodeType": "ExpressionStatement", - "src": "7162:33:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 501, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7230:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 500, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7222:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 499, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7222:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 502, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7222:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 503, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 463, - "src": "7234:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 504, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 465, - "src": "7238:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 498, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "7213:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7213:33:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 506, - "nodeType": "EmitStatement", - "src": "7208:38:2" - } - ] - }, - "documentation": "@dev Mints `tokenId` and transfers it to `to`.\n\n * Emits a {Transfer} event.", - "id": 508, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 466, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 463, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 508, - "src": "6926:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 462, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6926:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 465, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 508, - "src": "6938:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 464, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6938:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6925:29:2" - }, - "returnParameters": { - "id": 467, - "nodeType": "ParameterList", - "parameters": [], - "src": "6972:0:2" - }, - "scope": 640, - "src": "6911:343:2", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 573, - "nodeType": "Block", - "src": "7499:568:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 519, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7551:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7551:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 521, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "7563:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 518, - "name": "_isApprovedOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 461, - "src": "7532:18:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7532:39:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7586:51:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", - "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" - }, - "value": "ERC721: transfer caller is not owner nor approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", - "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" - } - ], - "id": 517, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7510:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7510:138:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 525, - "nodeType": "ExpressionStatement", - "src": "7510:138:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 528, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "7689:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 527, - "name": "ownerOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 218, - "src": "7681:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7681:16:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 530, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "7701:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7681:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e", - "id": 532, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7720:43:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950", - "typeString": "literal_string \"ERC721: transfer of token that is not own\"" - }, - "value": "ERC721: transfer of token that is not own" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950", - "typeString": "literal_string \"ERC721: transfer of token that is not own\"" - } - ], - "id": 526, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7659:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7659:115:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 534, - "nodeType": "ExpressionStatement", - "src": "7659:115:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 536, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 512, - "src": "7793:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 539, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7807:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 538, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7799:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 537, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7799:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 540, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7799:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7793:16:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7811:38:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", - "typeString": "literal_string \"ERC721: transfer to the zero address\"" - }, - "value": "ERC721: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", - "typeString": "literal_string \"ERC721: transfer to the zero address\"" - } - ], - "id": 535, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7785:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7785:65:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 544, - "nodeType": "ExpressionStatement", - "src": "7785:65:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 546, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "7878:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 545, - "name": "_clearApproval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "7863:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7863:23:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 548, - "nodeType": "ExpressionStatement", - "src": "7863:23:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 549, - "name": "_tokenOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 157, - "src": "7899:11:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 551, - "indexExpression": { - "argumentTypes": null, - "id": 550, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "7911:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7899:20:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 552, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 512, - "src": "7922:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7899:25:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 554, - "nodeType": "ExpressionStatement", - "src": "7899:25:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 555, - "name": "_ownedTokensCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 165, - "src": "7935:17:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Counter_$7125_storage_$", - "typeString": "mapping(address => struct Counters.Counter storage ref)" - } - }, - "id": 557, - "indexExpression": { - "argumentTypes": null, - "id": 556, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "7953:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7935:23:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage", - "typeString": "struct Counters.Counter storage ref" - } - }, - "id": 558, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "decrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 7164, - "src": "7935:33:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$7125_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$7125_storage_ptr_$", - "typeString": "function (struct Counters.Counter storage pointer)" - } - }, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7935:35:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 560, - "nodeType": "ExpressionStatement", - "src": "7935:35:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 561, - "name": "_ownedTokensCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 165, - "src": "7981:17:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Counter_$7125_storage_$", - "typeString": "mapping(address => struct Counters.Counter storage ref)" - } - }, - "id": 563, - "indexExpression": { - "argumentTypes": null, - "id": 562, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 512, - "src": "7999:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7981:21:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$7125_storage", - "typeString": "struct Counters.Counter storage ref" - } - }, - "id": 564, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "increment", - "nodeType": "MemberAccess", - "referencedDeclaration": 7148, - "src": "7981:31:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$7125_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$7125_storage_ptr_$", - "typeString": "function (struct Counters.Counter storage pointer)" - } - }, - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7981:33:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 566, - "nodeType": "ExpressionStatement", - "src": "7981:33:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 568, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "8041:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 569, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 512, - "src": "8047:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 570, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "8051:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 567, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "8032:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8032:27:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 572, - "nodeType": "EmitStatement", - "src": "8027:32:2" - } - ] - }, - "documentation": "@dev Transfers `tokenId` token from `from` to `to`.\n\n * Emits a {Transfer} event.", - "id": 574, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 515, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 510, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 574, - "src": "7415:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 509, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7415:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 512, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 574, - "src": "7438:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 511, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7438:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 514, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 574, - "src": "7459:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 513, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7459:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7404:77:2" - }, - "returnParameters": { - "id": 516, - "nodeType": "ParameterList", - "parameters": [], - "src": "7499:0:2" - }, - "scope": 640, - "src": "7382:685:2", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 613, - "nodeType": "Block", - "src": "8768:286:2", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "8783:16:2", - "subExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 587, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 578, - "src": "8784:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isContract", - "nodeType": "MemberAccess", - "referencedDeclaration": 6946, - "src": "8784:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8784:15:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 594, - "nodeType": "IfStatement", - "src": "8779:60:2", - "trueBody": { - "id": 593, - "nodeType": "Block", - "src": "8801:38:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8823:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 586, - "id": 592, - "nodeType": "Return", - "src": "8816:11:2" - } - ] - } - }, - { - "assignments": [ - 596 - ], - "declarations": [ - { - "constant": false, - "id": 596, - "name": "retval", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 613, - "src": "8851:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 595, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "8851:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 607, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 601, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8918:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8918:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 603, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "8943:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 604, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 580, - "src": "8962:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 605, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 582, - "src": "8984:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 598, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 578, - "src": "8883:2:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 597, - "name": "IERC721Receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6919, - "src": "8867:15:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$6919_$", - "typeString": "type(contract IERC721Receiver)" - } - }, - "id": 599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8867:19:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721Receiver_$6919", - "typeString": "contract IERC721Receiver" - } - }, - "id": 600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onERC721Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 6918, - "src": "8867:36:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,address,uint256,bytes memory) external returns (bytes4)" - } - }, - "id": 606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8867:133:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8851:149:2" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 608, - "name": "retval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 596, - "src": "9019:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 609, - "name": "_ERC721_RECEIVED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "9029:16:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "9019:26:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 611, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9018:28:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 586, - "id": 612, - "nodeType": "Return", - "src": "9011:35:2" - } - ] - }, - "documentation": "@dev Internal function to invoke `onERC721Received` on a target address\nThe call is not executed if the target address is not a contract\n@param from address representing the previous owner of the given token ID\n@param to target address that will receive the tokens\n@param tokenId uint256 ID of the token to be transferred\n@param _data bytes optional data to send along with the call\n@return bool whether the call correctly returned the expected magic value", - "id": 614, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkOnERC721Received", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 583, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 576, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 614, - "src": "8648:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 575, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8648:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 578, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 614, - "src": "8671:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 577, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8671:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 580, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 614, - "src": "8692:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 579, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8692:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 582, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 614, - "src": "8718:18:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 581, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8718:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8637:106:2" - }, - "returnParameters": { - "id": 586, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 585, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 614, - "src": "8762:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 584, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8762:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8761:6:2" - }, - "scope": 640, - "src": "8606:448:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 638, - "nodeType": "Block", - "src": "9187:126:2", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 619, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 161, - "src": "9202:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 621, - "indexExpression": { - "argumentTypes": null, - "id": 620, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 616, - "src": "9218:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9202:24:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 624, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9238:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 623, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9230:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9230:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9230:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "9202:38:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 637, - "nodeType": "IfStatement", - "src": "9198:108:2", - "trueBody": { - "id": 636, - "nodeType": "Block", - "src": "9242:64:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 627, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 161, - "src": "9257:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 629, - "indexExpression": { - "argumentTypes": null, - "id": 628, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 616, - "src": "9273:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9257:24:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9292:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9284:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 630, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9284:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9284:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "9257:37:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 635, - "nodeType": "ExpressionStatement", - "src": "9257:37:2" - } - ] - } - } - ] - }, - "documentation": null, - "id": 639, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_clearApproval", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 616, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 639, - "src": "9162:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9162:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9161:17:2" - }, - "returnParameters": { - "id": 618, - "nodeType": "ParameterList", - "parameters": [], - "src": "9187:0:2" - }, - "scope": 640, - "src": "9138:175:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - } - ], - "scope": 641, - "src": "478:8838:2" - } - ], - "src": "35:9283:2" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.0", - "updatedAt": "2020-08-31T20:17:13.038Z", - "devdoc": { - "details": "see https://eips.ethereum.org/EIPS/eip-721", - "methods": { - "approve(address,uint256)": { - "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * Requirements: * - The caller must own the token or be an approved operator. - `tokenId` must exist. * Emits an {Approval} event." - }, - "constructor": { - "details": "Initializes the contract by registering the supported interfaces." - }, - "getApproved(uint256)": { - "details": "Returns the account approved for `tokenId` token." - }, - "isApprovedForAll(address,address)": { - "details": "Tells whether an operator is approved by a given owner", - "params": { - "operator": "operator address which you want to query the approval of", - "owner": "owner address which you want to query the approval of" - }, - "returns": { - "_0": "bool whether the given operator is approved by the given owner" - } - }, - "isPaused()": { - "details": "Returns true if the contract is paused." - }, - "owner()": { - "details": "Returns the address of the current owner." - }, - "pause()": { - "details": "Stops operational state." - }, - "resume()": { - "details": "Resumes operational state." - }, - "setApprovalForAll(address,bool)": { - "details": "Sets or unsets the approval of a given operator An operator is allowed to transfer all tokens of the sender on their behalf", - "params": { - "approved": "representing the status of the approval to be set", - "to": "operator address to set the approval" - } - }, - "supportsInterface(bytes4)": { - "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]. * Time complexity O(1), guaranteed to always use less than 30 000 gas." - }, - "transferOwnership(address)": { - "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." - } - }, - "title": "ERC721 Non-Fungible Token Standard basic implementation" - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/app_/src/contracts/ERC721Enumerable.json b/app_/src/contracts/ERC721Enumerable.json deleted file mode 100644 index a2568e5..0000000 --- a/app_/src/contracts/ERC721Enumerable.json +++ /dev/null @@ -1,7842 +0,0 @@ -{ - "contractName": "ERC721Enumerable", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Resumed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "isPaused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "resume", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenOfOwnerByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Resumed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resume\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC-721 Non-Fungible Token Standard, optional enumeration extension. * This allows a contract to publish its full list of NFTs and make them discoverable.\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * Requirements: * - The caller must own the token or be an approved operator. - `tokenId` must exist. * Emits an {Approval} event.\"},\"constructor\":{\"details\":\"Initializes the contract registering the supported interface.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Tells whether an operator is approved by a given owner\",\"params\":{\"operator\":\"operator address which you want to query the approval of\",\"owner\":\"owner address which you want to query the approval of\"},\"returns\":{\"_0\":\"bool whether the given operator is approved by the given owner\"}},\"isPaused()\":{\"details\":\"Returns true if the contract is paused.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"pause()\":{\"details\":\"Stops operational state.\"},\"resume()\":{\"details\":\"Resumes operational state.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Sets or unsets the approval of a given operator An operator is allowed to transfer all tokens of the sender on their behalf\",\"params\":{\"approved\":\"representing the status of the approval to be set\",\"to\":\"operator address to set the approval\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]. * Time complexity O(1), guaranteed to always use less than 30 000 gas.\"},\"tokenByIndex(uint256)\":{\"details\":\"Gets the token ID at a given index of all the tokens in this contract Reverts if the index is greater or equal to the total number of tokens\",\"params\":{\"index\":\"uint256 representing the index to be accessed of the tokens list\"},\"returns\":{\"_0\":\"uint256 token ID at the given index of the tokens list\"}},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"Gets the token ID at a given index of the tokens list of the requested owner\",\"params\":{\"index\":\"uint256 representing the index to be accessed of the requested tokens list\",\"owner\":\"address owning the tokens list to be accessed\"},\"returns\":{\"_0\":\"uint256 token ID at the given index of the tokens list owned by the requested address\"}},\"totalSupply()\":{\"details\":\"Gets the total amount of tokens stored by the contract\",\"returns\":{\"_0\":\"uint256 representing the total amount of tokens\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721Enumerable.sol\":\"ERC721Enumerable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC165.sol\":{\"keccak256\":\"0xcb595039f64d3e7f1ae680b8105f8d4d2010b73bf62355ddd0c0de824d399742\",\"urls\":[\"bzz-raw://f2e08ce1bbb0ea2628db773b0d2402d399e211953f9574da17089ae465b048d8\",\"dweb:/ipfs/QmT1vHbq7tbwvFt9uRaCULyGmFgZ1h35ft9M4j1p86S6SU\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721.sol\":{\"keccak256\":\"0xcad0e0a24a93303fafd1d297a05ec681d88f531119d1aeb5f5e3acb20ef35488\",\"urls\":[\"bzz-raw://34bd2407e09c01b87a9df1eba31ffe59c2b31d49413cda70f7f62546c6edf725\",\"dweb:/ipfs/QmZfKPGE8M7FXVhuH9XdbiRiqJ6t4LSBuinJLCM16aLbX8\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721Enumerable.sol\":{\"keccak256\":\"0x5470ca0c9c63f39b80e811d115c97a6a2feb86fad2d7ea742cf2b4a63087a092\",\"urls\":[\"bzz-raw://3e38c35a33a2d89df83b622d792917899ea4f11e92595f7ef4977f91336f8262\",\"dweb:/ipfs/QmPqrJ8C32jZN7FoLtmJw41m6GzQwr3vFAhCxC5N7oaE2W\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/util/Ownable.sol\":{\"keccak256\":\"0x82ef8aa91736625e9a857d74f887113396f3efff3f92487487951c01640185bd\",\"urls\":[\"bzz-raw://000e161ca84afddaf09a3f2aa5e2ac4ba231d99337dd8f2f34fb6968ed57ce95\",\"dweb:/ipfs/Qmavkk6BGxoxtrVpYe737HyuxE4WsPaFdtW39JsRiS9G4m\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/util/Pausable.sol\":{\"keccak256\":\"0xe2cc8e8eee187921e15d10ac5d7d92c222a223b9048c6f7e9f5b93b6527f95c7\",\"urls\":[\"bzz-raw://9aeec234fe8bf28bed06a87a4cf873c5f1edd23b7719b84bc94b8b74da4ba160\",\"dweb:/ipfs/QmNuG23aVNMxMTybSiRKYvE4649qgdL1yFy3MJdBAeCd5N\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806\",\"urls\":[\"bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5\",\"dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x321ee37ef4925020aa818a03ec7fe48e057561f65ab009a84f6c20c86026ade7\",\"urls\":[\"bzz-raw://01f9d74a17a56024984251b97e428e24c9d3abffbae5bd290f0ec263c82e9694\",\"dweb:/ipfs/QmRryCuuXu2ukrDmatB8TqdEhPLiK6NBRt41RiPUaX1qKy\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xdfb4f812600ba4ce6738c35584ceb8c9433472583051b48ba5b1f66cb758a498\",\"urls\":[\"bzz-raw://df02dffe1c1de089d9b4f6192f0dcf464526f2230f420b3deec4645e0cdd2bff\",\"dweb:/ipfs/QmcqXGAU3KJqwrgUVoGJ2W8osomhSJ4R5kdsRpbuW3fELS\"]},\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0x2d68b8e6425249cd05cc0a66ea50cb5b8d10cbdac59c6de834e1002232813faf\",\"urls\":[\"bzz-raw://e3ce6b6ac17c67bba01e9c8c778f82f68fd4823bd083359cdd03040b70eeeba3\",\"dweb:/ipfs/QmX4t1jWwKaAkacvmQxEG5rBtLXg3EHw6pRjKhMZR8iw3n\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b506200002a6301ffc9a760e01b6200013960201b60201c565b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160146101000a81548160ff0219169083151502179055506200011b6380ac58cd60e01b6200013960201b60201c565b6200013363780e9d6360e01b6200013960201b60201c565b62000242565b63ffffffff60e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415620001d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433136353a20696e76616c696420696e746572666163652049440000000081525060200191505060405180910390fd5b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6120a080620002526000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80636352211e116100a2578063a22cb46511610071578063a22cb465146104fe578063b187bd261461054e578063b88d4fde14610570578063e985e9c514610675578063f2fde38b146106f157610116565b80636352211e146103e457806370a08231146104525780638456cb59146104aa5780638da5cb5b146104b457610116565b806318160ddd116100e957806318160ddd1461024657806323b872dd146102645780632f745c59146102d257806342842e0e146103345780634f6ccce7146103a257610116565b806301ffc9a71461011b578063046f7da214610180578063081812fc1461018a578063095ea7b3146101f8575b600080fd5b6101666004803603602081101561013157600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610735565b604051808215151515815260200191505060405180910390f35b61018861079c565b005b6101b6600480360360208110156101a057600080fd5b8101908080359060200190929190505050610944565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102446004803603604081101561020e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109df565b005b61024e610c1e565b6040518082815260200191505060405180910390f35b6102d06004803603606081101561027a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c2b565b005b61031e600480360360408110156102e857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c4e565b6040518082815260200191505060405180910390f35b6103a06004803603606081101561034a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cc1565b005b6103ce600480360360208110156103b857600080fd5b8101908080359060200190929190505050610ce1565b6040518082815260200191505060405180910390f35b610410600480360360208110156103fa57600080fd5b8101908080359060200190929190505050610d15565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104946004803603602081101561046857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d52565b6040518082815260200191505060405180910390f35b6104b2610e27565b005b6104bc610fcf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61054c6004803603604081101561051457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610ff9565b005b610556611133565b604051808215151515815260200191505060405180910390f35b6106736004803603608081101561058657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156105ed57600080fd5b8201836020820111156105ff57600080fd5b8035906020019184600183028401116401000000008311171561062157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061114a565b005b6106d76004803603604081101561068b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611170565b604051808215151515815260200191505060405180910390f35b6107336004803603602081101561070757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611204565b005b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b600160149054906101000a900460ff16610801576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611fc56022913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600160146101000a81548160ff0219169083151502179055507f5d287a3a02ade76478d8449abebe9dc45b38421247132b68127dd3cd6c05f3cf33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600061094f8261140d565b6109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180611f4f602c913960400191505060405180910390fd5b6003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6109e88161140d565b610a3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d81526020018061203e602d913960400191505060405180910390fd5b6000610a4882610d15565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610acf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611fa46021913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610b0f5750610b0e8133611170565b5b610b64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526038815260200180611eed6038913960400191505060405180910390fd5b826003600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff16610bd784610d15565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000600880549050905090565b610c35338261147f565b610c3e57600080fd5b610c49838383611514565b505050565b6000610c5983610d52565b8210610c6457600080fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610cae57fe5b9060005260206000200154905092915050565b610cdc8383836040518060200160405280600081525061114a565b505050565b6000610ceb610c1e565b8210610cf657600080fd5b60088281548110610d0357fe5b90600052602060002001549050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610dd9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180611f25602a913960400191505060405180910390fd5b610e20600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611538565b9050919050565b600160149054906101000a900460ff1615610e8d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806120186026913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f50576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60018060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561103257600080fd5b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6000600160149054906101000a900460ff16905090565b611155848484610c2b565b61116184848484611546565b61116a57600080fd5b50505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561134d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611ea36026913960400191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60008061148b83610d15565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806114fa57508373ffffffffffffffffffffffffffffffffffffffff166114e284610944565b73ffffffffffffffffffffffffffffffffffffffff16145b8061150b575061150a8185611170565b5b91505092915050565b61151f83838361172f565b61152983826119e9565b6115338282611b92565b505050565b600081600001549050919050565b60006115678473ffffffffffffffffffffffffffffffffffffffff16611c56565b6115745760019050611727565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561164f578082015181840152602081019050611634565b50505050905090810190601f16801561167c5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561169e57600080fd5b505af11580156116b2573d6000803e3d6000fd5b505050506040513d60208110156116c857600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b611739338261147f565b61178e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180611fe76031913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166117ae82610d15565b73ffffffffffffffffffffffffffffffffffffffff161461181a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611f7b6029913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156118a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180611ec96024913960400191505060405180910390fd5b6118a981611ca1565b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611942600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611d5f565b611989600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611d82565b808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000611a416001600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611d9890919063ffffffff16565b9050600060076000848152602001908152602001600020549050818114611b2e576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110611aae57fe5b9060005260206000200154905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110611b0657fe5b9060005260206000200181905550816007600083815260200190815260200160002081905550505b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480611b7657fe5b6001900381819060005260206000200160009055905550505050565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506007600083815260200190815260200160002081905550600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150555050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f9150808214158015611c9857506000801b8214155b92505050919050565b600073ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d5c5760006003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b611d7760018260000154611d9890919063ffffffff16565b816000018190555050565b6001816000016000828254019250508190555050565b6000611dda83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611de2565b905092915050565b6000838311158290611e8f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e54578082015181840152602081019050611e39565b50505050905090810190601f168015611e815780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65725061757361626c653a206578706563746564202770617573656427207374617475734552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665645061757361626c653a20657870656374656420276e6f742070617573656427207374617475734552433732313a20617070726f7665207265717565737420666f72206e6f6e6578697374656e7420746f6b656ea2646970667358221220660bf43cb5cd5652258184cda37e9ab2b42f9f66f54d84785b259ced8d17590e64736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c80636352211e116100a2578063a22cb46511610071578063a22cb465146104fe578063b187bd261461054e578063b88d4fde14610570578063e985e9c514610675578063f2fde38b146106f157610116565b80636352211e146103e457806370a08231146104525780638456cb59146104aa5780638da5cb5b146104b457610116565b806318160ddd116100e957806318160ddd1461024657806323b872dd146102645780632f745c59146102d257806342842e0e146103345780634f6ccce7146103a257610116565b806301ffc9a71461011b578063046f7da214610180578063081812fc1461018a578063095ea7b3146101f8575b600080fd5b6101666004803603602081101561013157600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610735565b604051808215151515815260200191505060405180910390f35b61018861079c565b005b6101b6600480360360208110156101a057600080fd5b8101908080359060200190929190505050610944565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102446004803603604081101561020e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109df565b005b61024e610c1e565b6040518082815260200191505060405180910390f35b6102d06004803603606081101561027a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c2b565b005b61031e600480360360408110156102e857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c4e565b6040518082815260200191505060405180910390f35b6103a06004803603606081101561034a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cc1565b005b6103ce600480360360208110156103b857600080fd5b8101908080359060200190929190505050610ce1565b6040518082815260200191505060405180910390f35b610410600480360360208110156103fa57600080fd5b8101908080359060200190929190505050610d15565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104946004803603602081101561046857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d52565b6040518082815260200191505060405180910390f35b6104b2610e27565b005b6104bc610fcf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61054c6004803603604081101561051457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610ff9565b005b610556611133565b604051808215151515815260200191505060405180910390f35b6106736004803603608081101561058657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156105ed57600080fd5b8201836020820111156105ff57600080fd5b8035906020019184600183028401116401000000008311171561062157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061114a565b005b6106d76004803603604081101561068b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611170565b604051808215151515815260200191505060405180910390f35b6107336004803603602081101561070757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611204565b005b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b600160149054906101000a900460ff16610801576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611fc56022913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600160146101000a81548160ff0219169083151502179055507f5d287a3a02ade76478d8449abebe9dc45b38421247132b68127dd3cd6c05f3cf33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600061094f8261140d565b6109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180611f4f602c913960400191505060405180910390fd5b6003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6109e88161140d565b610a3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d81526020018061203e602d913960400191505060405180910390fd5b6000610a4882610d15565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610acf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611fa46021913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610b0f5750610b0e8133611170565b5b610b64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526038815260200180611eed6038913960400191505060405180910390fd5b826003600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff16610bd784610d15565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000600880549050905090565b610c35338261147f565b610c3e57600080fd5b610c49838383611514565b505050565b6000610c5983610d52565b8210610c6457600080fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610cae57fe5b9060005260206000200154905092915050565b610cdc8383836040518060200160405280600081525061114a565b505050565b6000610ceb610c1e565b8210610cf657600080fd5b60088281548110610d0357fe5b90600052602060002001549050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610dd9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180611f25602a913960400191505060405180910390fd5b610e20600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611538565b9050919050565b600160149054906101000a900460ff1615610e8d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806120186026913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f50576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60018060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561103257600080fd5b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6000600160149054906101000a900460ff16905090565b611155848484610c2b565b61116184848484611546565b61116a57600080fd5b50505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561134d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611ea36026913960400191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60008061148b83610d15565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806114fa57508373ffffffffffffffffffffffffffffffffffffffff166114e284610944565b73ffffffffffffffffffffffffffffffffffffffff16145b8061150b575061150a8185611170565b5b91505092915050565b61151f83838361172f565b61152983826119e9565b6115338282611b92565b505050565b600081600001549050919050565b60006115678473ffffffffffffffffffffffffffffffffffffffff16611c56565b6115745760019050611727565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561164f578082015181840152602081019050611634565b50505050905090810190601f16801561167c5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561169e57600080fd5b505af11580156116b2573d6000803e3d6000fd5b505050506040513d60208110156116c857600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b611739338261147f565b61178e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180611fe76031913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166117ae82610d15565b73ffffffffffffffffffffffffffffffffffffffff161461181a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611f7b6029913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156118a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180611ec96024913960400191505060405180910390fd5b6118a981611ca1565b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611942600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611d5f565b611989600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611d82565b808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000611a416001600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611d9890919063ffffffff16565b9050600060076000848152602001908152602001600020549050818114611b2e576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110611aae57fe5b9060005260206000200154905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110611b0657fe5b9060005260206000200181905550816007600083815260200190815260200160002081905550505b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480611b7657fe5b6001900381819060005260206000200160009055905550505050565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506007600083815260200190815260200160002081905550600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150555050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f9150808214158015611c9857506000801b8214155b92505050919050565b600073ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d5c5760006003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b611d7760018260000154611d9890919063ffffffff16565b816000018190555050565b6001816000016000828254019250508190555050565b6000611dda83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611de2565b905092915050565b6000838311158290611e8f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e54578082015181840152602081019050611e39565b50505050905090810190601f168015611e815780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65725061757361626c653a206578706563746564202770617573656427207374617475734552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665645061757361626c653a20657870656374656420276e6f742070617573656427207374617475734552433732313a20617070726f7665207265717565737420666f72206e6f6e6578697374656e7420746f6b656ea2646970667358221220660bf43cb5cd5652258184cda37e9ab2b42f9f66f54d84785b259ced8d17590e64736f6c63430006020033", - "sourceMap": "291:7410:3:-:0;;;1184:91;8:9:-1;5:2;;;30:1;27;20:12;5:2;1184:91:3;825:40:1;531:10;844:20;;825:18;;;:40;;:::i;:::-;884:10:7;875:6;;:19;;;;;;;;;;;;;;;;;;943:6;;;;;;;;;;;910:40;;939:1;910:40;;;;;;;;;;;;1188:5:8;1178:7;;:15;;;;;;;;;;;;;;;;;;2256:40:2;2108:10;2275:20;;2256:18;;;:40;;:::i;:::-;1216:51:3;1072:10;1235:31;;1216:18;;;:51;;:::i;:::-;291:7410;;1607:193:1;1698:10;1683:25;;:11;:25;;;;;1675:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1788:4;1752:20;:33;1773:11;1752:33;;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;1607:193;:::o;291:7410:3:-;;;;;;;", - "deployedSourceMap": "291:7410:3:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;291:7410:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1199:167:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1199:167:1;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1613:123:8;;;:::i;:::-;;3815:241:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3815:241:2;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3156:570;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3156:570:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2031:96:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5089:218:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5089:218:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1656:217:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1656:217:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5315:168:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5315:168:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2472:151:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2472:151:3;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2568:110:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2568:110:2;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2312:248;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2312:248:2;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1424:123:8;;;:::i;:::-;;1039:79:7;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4356:217:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4356:217:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1280:80:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5491:257:2;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;5491:257:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5491:257:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5491:257:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5491:257:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;5491:257:2;;;;;;;;;;;;;;;:::i;:::-;;4902:179;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4902:179:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1273:281:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1273:281:7;;;;;;;;;;;;;;;;;;;:::i;:::-;;1199:167:1;1296:4;1325:20;:33;1346:11;1325:33;;;;;;;;;;;;;;;;;;;;;;;;;;;1318:40;;1199:167;;;:::o;1613:123:8:-;764:7;;;;;;;;;;;756:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;480:10:7::1;470:20;;:6;;;;;;;;;;;:20;;;462:65;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;1688:5:8::2;1678:7;;:15;;;;;;;;;;;;;;;;;;1709:19;1717:10;1709:19;;;;;;;;;;;;;;;;;;;;;;1613:123::o:0;3815:241:2:-;3874:7;3916:16;3924:7;3916;:16::i;:::-;3894:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4024:15;:24;4040:7;4024:24;;;;;;;;;;;;;;;;;;;;;4017:31;;3815:241;;;:::o;3156:570::-;3242:16;3250:7;3242;:16::i;:::-;3220:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3344:13;3360:16;3368:7;3360;:16::i;:::-;3344:32;;3401:5;3395:11;;:2;:11;;;;3387:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3493:5;3479:19;;:10;:19;;;:58;;;;3502:35;3519:5;3526:10;3502:16;:35::i;:::-;3479:58;3457:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3661:2;3634:15;:24;3650:7;3634:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;3710:7;3706:2;3679:39;;3688:16;3696:7;3688;:16::i;:::-;3679:39;;;;;;;;;;;;3156:570;;;:::o;2031:96:3:-;2075:7;2102:10;:17;;;;2095:24;;2031:96;:::o;5089:218:2:-;5214:39;5233:10;5245:7;5214:18;:39::i;:::-;5206:48;;;;;;5267:32;5281:4;5287:2;5291:7;5267:13;:32::i;:::-;5089:218;;;:::o;1656:217:3:-;1763:7;1804:16;1814:5;1804:9;:16::i;:::-;1796:5;:24;1788:33;;;;;;1839:12;:19;1852:5;1839:19;;;;;;;;;;;;;;;1859:5;1839:26;;;;;;;;;;;;;;;;1832:33;;1656:217;;;;:::o;5315:168:2:-;5436:39;5453:4;5459:2;5463:7;5436:39;;;;;;;;;;;;:16;:39::i;:::-;5315:168;;;:::o;2472:151:3:-;2530:7;2566:13;:11;:13::i;:::-;2558:5;:21;2550:30;;;;;;2598:10;2609:5;2598:17;;;;;;;;;;;;;;;;2591:24;;2472:151;;;:::o;2568:110:2:-;2623:7;2650:11;:20;2662:7;2650:20;;;;;;;;;;;;;;;;;;;;;2643:27;;2568:110;;;:::o;2312:248::-;2367:7;2426:1;2409:19;;:5;:19;;;;2387:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2518:34;:17;:24;2536:5;2518:24;;;;;;;;;;;;;;;:32;:34::i;:::-;2511:41;;2312:248;;;:::o;1424:123:8:-;554:7;;;;;;;;;;;553:8;545:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;480:10:7::1;470:20;;:6;;;;;;;;;;;:20;;;462:65;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;1501:4:8::2;1491:7:::0;::::2;:14;;;;;;;;;;;;;;;;;;1521:18;1528:10;1521:18;;;;;;;;;;;;;;;;;;;;;;1424:123::o:0;1039:79:7:-;1077:7;1104:6;;;;;;;;;;;1097:13;;1039:79;:::o;4356:217:2:-;4442:10;4436:16;;:2;:16;;;;4428:25;;;;;;4501:8;4464:18;:30;4483:10;4464:30;;;;;;;;;;;;;;;:34;4495:2;4464:34;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;4552:2;4525:40;;4540:10;4525:40;;;4556:8;4525:40;;;;;;;;;;;;;;;;;;;;;;4356:217;;:::o;1280:80:8:-;1321:4;1345:7;;;;;;;;;;;1338:14;;1280:80;:::o;5491:257:2:-;5641:31;5654:4;5660:2;5664:7;5641:12;:31::i;:::-;5691:48;5714:4;5720:2;5724:7;5733:5;5691:22;:48::i;:::-;5683:57;;;;;;5491:257;;;;:::o;4902:179::-;5009:4;5038:18;:25;5057:5;5038:25;;;;;;;;;;;;;;;:35;5064:8;5038:35;;;;;;;;;;;;;;;;;;;;;;;;;5031:42;;4902:179;;;;:::o;1273:281:7:-;480:10;470:20;;:6;;;;;;;;;;;:20;;;462:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1396:1:::1;1376:22;;:8;:22;;;;1354:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1484:8;1475:6;;:17;;;;;;;;;;;;;;;;;;1537:8;1508:38;;1529:6;;;;;;;;;;;1508:38;;;;;;;;;;;;1273:281:::0;:::o;5949:163:2:-;6014:4;6031:13;6047:11;:20;6059:7;6047:20;;;;;;;;;;;;;;;;;;;;;6031:36;;6102:1;6085:19;;:5;:19;;;;6078:26;;;5949:163;;;:::o;6481:307::-;6593:4;6615:13;6631:16;6639:7;6631;:16::i;:::-;6615:32;;6677:5;6666:16;;:7;:16;;;:64;;;;6723:7;6699:31;;:20;6711:7;6699:11;:20::i;:::-;:31;;;6666:64;:113;;;;6747:32;6764:5;6771:7;6747:16;:32::i;:::-;6666:113;6658:122;;;6481:307;;;;:::o;3007:286:3:-;3136:38;3156:4;3162:2;3166:7;3136:19;:38::i;:::-;3187:47;3220:4;3226:7;3187:32;:47::i;:::-;3245:40;3273:2;3277:7;3245:27;:40::i;:::-;3007:286;;;:::o;1098:112:14:-;1163:7;1189;:14;;;1182:21;;1098:112;;;:::o;8606:448:2:-;8762:4;8784:15;:2;:13;;;:15::i;:::-;8779:60;;8823:4;8816:11;;;;8779:60;8851:13;8883:2;8867:36;;;8918:10;8943:4;8962:7;8984:5;8867:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8867:133:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8867:133:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8867:133:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8867:133:2;;;;;;;;;;;;;;;;8851:149;;1229:10;9029:16;;9019:26;;;:6;:26;;;;9011:35;;;8606:448;;;;;;;:::o;7382:685::-;7532:39;7551:10;7563:7;7532:18;:39::i;:::-;7510:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7701:4;7681:24;;:16;7689:7;7681;:16::i;:::-;:24;;;7659:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7807:1;7793:16;;:2;:16;;;;7785:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7863:23;7878:7;7863:14;:23::i;:::-;7922:2;7899:11;:20;7911:7;7899:20;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;7935:35;:17;:23;7953:4;7935:23;;;;;;;;;;;;;;;:33;:35::i;:::-;7981:33;:17;:21;7999:2;7981:21;;;;;;;;;;;;;;;:31;:33::i;:::-;8051:7;8047:2;8032:27;;8041:4;8032:27;;;;;;;;;;;;7382:685;;;:::o;5242:1082:3:-;5522:22;5547:32;5577:1;5547:12;:18;5560:4;5547:18;;;;;;;;;;;;;;;:25;;;;:29;;:32;;;;:::i;:::-;5522:57;;5590:18;5611:17;:26;5629:7;5611:26;;;;;;;;;;;;5590:47;;5758:14;5744:10;:28;5740:328;;5789:19;5811:12;:18;5824:4;5811:18;;;;;;;;;;;;;;;5830:14;5811:34;;;;;;;;;;;;;;;;5789:56;;5895:11;5862:12;:18;5875:4;5862:18;;;;;;;;;;;;;;;5881:10;5862:30;;;;;;;;;;;;;;;:44;;;;6012:10;5979:17;:30;5997:11;5979:30;;;;;;;;;;;:43;;;;5740:328;;6080:12;:18;6093:4;6080:18;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;;;;;;;5242:1082;;;;:::o;4066:186::-;4180:12;:16;4193:2;4180:16;;;;;;;;;;;;;;;:23;;;;4151:17;:26;4169:7;4151:26;;;;;;;;;;;:52;;;;4214:12;:16;4227:2;4214:16;;;;;;;;;;;;;;;4236:7;4214:30;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;4214:30:3;;;;;;;;;;;;;;;;;;;4066:186;;:::o;718:610:13:-;778:4;1036:16;1062:19;1084:66;1062:88;;;;1251:7;1239:20;1227:32;;1290:11;1278:8;:23;;:42;;;;;1317:3;1305:15;;:8;:15;;1278:42;1270:51;;;;718:610;;;:::o;9138:175:2:-;9238:1;9202:38;;:15;:24;9218:7;9202:24;;;;;;;;;;;;;;;;;;;;;:38;;;9198:108;;9292:1;9257:15;:24;9273:7;9257:24;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;9198:108;9138:175;:::o;1400:108:14:-;1480:21;1499:1;1480:7;:14;;;:18;;:21;;;;:::i;:::-;1463:7;:14;;:38;;;;1400:108;:::o;1216:178::-;1386:1;1368:7;:14;;;:19;;;;;;;;;;;1216:178;:::o;1321:134:11:-;1379:7;1405:43;1409:1;1412;1405:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1398:50;;1321:134;;;;:::o;1746:187::-;1832:7;1864:1;1859;:6;;1867:12;1851:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1851:29:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1890:9;1906:1;1902;:5;1890:17;;1925:1;1918:8;;;1746:187;;;;;:::o", - "source": "// SPDX-License-Identifier: MIT\r\n\r\npragma solidity 0.6.2;\r\n\r\nimport \"./ERC165.sol\";\r\nimport \"./ERC721.sol\";\r\n\r\n/**\r\n * @dev ERC-721 Non-Fungible Token Standard, optional enumeration extension.\r\n *\r\n * This allows a contract to publish its full list of NFTs and make them discoverable.\r\n */\r\ncontract ERC721Enumerable is ERC165, ERC721 {\r\n // Mapping from Owner to list of owned Token IDs\r\n mapping(address => uint256[]) private _ownedTokens;\r\n\r\n // Mapping from Token ID to index of the Owner Tokens List\r\n mapping(uint256 => uint256) private _ownedTokensIndex;\r\n\r\n // Array with all Token IDs, used for enumeration\r\n uint256[] private _allTokens;\r\n\r\n // Mapping from Token ID to position in the allTokens array\r\n mapping(uint256 => uint256) private _allTokensIndex;\r\n\r\n /*\r\n * 0x780e9d63 ===\r\n * bytes4(keccak256('totalSupply()')) ^\r\n * bytes4(keccak256('tokenOfOwnerByIndex(address,uint256)')) ^\r\n * bytes4(keccak256('tokenByIndex(uint256)'))\r\n */\r\n bytes4 private constant _INTERFACE_ID_ERC721_ENUMERABLE = 0x780e9d63;\r\n\r\n /**\r\n * @dev Initializes the contract registering the supported interface.\r\n */\r\n constructor() public {\r\n _registerInterface(_INTERFACE_ID_ERC721_ENUMERABLE);\r\n }\r\n\r\n /**\r\n * @dev Gets the token ID at a given index of the tokens list of the requested owner\r\n * @param owner address owning the tokens list to be accessed\r\n * @param index uint256 representing the index to be accessed of the requested tokens list\r\n * @return uint256 token ID at the given index of the tokens list owned by the requested address\r\n */\r\n function tokenOfOwnerByIndex(address owner, uint256 index)\r\n public\r\n view\r\n returns (uint256)\r\n {\r\n require(index < balanceOf(owner));\r\n return _ownedTokens[owner][index];\r\n }\r\n\r\n /**\r\n * @dev Gets the total amount of tokens stored by the contract\r\n * @return uint256 representing the total amount of tokens\r\n */\r\n function totalSupply() public view returns (uint256) {\r\n return _allTokens.length;\r\n }\r\n\r\n /**\r\n * @dev Gets the token ID at a given index of all the tokens in this contract\r\n * Reverts if the index is greater or equal to the total number of tokens\r\n * @param index uint256 representing the index to be accessed of the tokens list\r\n * @return uint256 token ID at the given index of the tokens list\r\n */\r\n function tokenByIndex(uint256 index) public view returns (uint256) {\r\n require(index < totalSupply());\r\n return _allTokens[index];\r\n }\r\n\r\n /**\r\n * @dev Internal function to transfer ownership of a given token ID to another address.\r\n * As opposed to transferFrom, this imposes no restrictions on msg.sender.\r\n * @param from current owner of the token\r\n * @param to address to receive the ownership of the given token ID\r\n * @param tokenId uint256 ID of the token to be transferred\r\n */\r\n function _transferFrom(\r\n address from,\r\n address to,\r\n uint256 tokenId\r\n ) internal override {\r\n super._transferFrom(from, to, tokenId);\r\n\r\n _removeTokenFromOwnerEnumeration(from, tokenId);\r\n _addTokenToOwnerEnumeration(to, tokenId);\r\n }\r\n\r\n /**\r\n * @dev Internal function to mint a new token\r\n * Reverts if the given token ID already exists\r\n * @param to address the beneficiary that will own the minted token\r\n * @param tokenId uint256 ID of the token to be minted\r\n */\r\n function _mint(address to, uint256 tokenId) internal override {\r\n super._mint(to, tokenId);\r\n\r\n _addTokenToOwnerEnumeration(to, tokenId);\r\n _addTokenToAllTokensEnumeration(tokenId);\r\n }\r\n\r\n /**\r\n * @dev Private function to add a token to this extension's ownership-tracking data structures.\r\n * @param to address representing the new owner of the given token ID\r\n * @param tokenId uint256 ID of the token to be added to the tokens list of the given address\r\n */\r\n function _addTokenToOwnerEnumeration(address to, uint256 tokenId) private {\r\n _ownedTokensIndex[tokenId] = _ownedTokens[to].length;\r\n _ownedTokens[to].push(tokenId);\r\n }\r\n\r\n /**\r\n * @dev Private function to add a token to this extension's token tracking data structures.\r\n * @param tokenId uint256 ID of the token to be added to the tokens list\r\n */\r\n function _addTokenToAllTokensEnumeration(uint256 tokenId) private {\r\n _allTokensIndex[tokenId] = _allTokens.length;\r\n _allTokens.push(tokenId);\r\n }\r\n\r\n /**\r\n * @dev Private function to remove a token from this extension's ownership-tracking data structures. Note that\r\n * while the token is not assigned a new owner, the _ownedTokensIndex mapping is _not_ updated: this allows for\r\n * gas optimizations e.g. when performing a transfer operation (avoiding double writes).\r\n * This has O(1) time complexity, but alters the order of the _ownedTokens array.\r\n * @param from address representing the previous owner of the given token ID\r\n * @param tokenId uint256 ID of the token to be removed from the tokens list of the given address\r\n */\r\n function _removeTokenFromOwnerEnumeration(address from, uint256 tokenId)\r\n private\r\n {\r\n // To prevent a gap in from's tokens array, we store the last token in the index of the token to delete, and\r\n // then delete the last slot (swap and pop).\r\n\r\n uint256 lastTokenIndex = _ownedTokens[from].length.sub(1);\r\n uint256 tokenIndex = _ownedTokensIndex[tokenId];\r\n\r\n // When the token to delete is the last token, the swap operation is unnecessary\r\n if (tokenIndex != lastTokenIndex) {\r\n uint256 lastTokenId = _ownedTokens[from][lastTokenIndex];\r\n\r\n _ownedTokens[from][tokenIndex] = lastTokenId; // Move the last token to the slot of the to-delete token\r\n _ownedTokensIndex[lastTokenId] = tokenIndex; // Update the moved token's index\r\n }\r\n\r\n _ownedTokens[from].pop();\r\n\r\n // Note that _ownedTokensIndex[tokenId] hasn't been cleared: it still points to the old slot (now occupied by\r\n // lastTokenId, or just over the end of the array if the token was the last one).\r\n }\r\n\r\n /**\r\n * @dev Private function to remove a token from this extension's token tracking data structures.\r\n * This has O(1) time complexity, but alters the order of the _allTokens array.\r\n * @param tokenId uint256 ID of the token to be removed from the tokens list\r\n */\r\n function _removeTokenFromAllTokensEnumeration(uint256 tokenId) private {\r\n // To prevent a gap in the tokens array, we store the last token in the index of the token to delete, and\r\n // then delete the last slot (swap and pop).\r\n\r\n uint256 lastTokenIndex = _allTokens.length.sub(1);\r\n uint256 tokenIndex = _allTokensIndex[tokenId];\r\n\r\n // When the token to delete is the last token, the swap operation is unnecessary. However, since this occurs so\r\n // rarely (when the last minted token is burnt) that we still do the swap here to avoid the gas cost of adding\r\n // an 'if' statement (like in _removeTokenFromOwnerEnumeration)\r\n uint256 lastTokenId = _allTokens[lastTokenIndex];\r\n\r\n _allTokens[tokenIndex] = lastTokenId; // Move the last token to the slot of the to-delete token\r\n _allTokensIndex[lastTokenId] = tokenIndex; // Update the moved token's index\r\n\r\n // This also deletes the contents at the last position of the array\r\n _allTokens.pop();\r\n _allTokensIndex[tokenId] = 0;\r\n }\r\n}\r\n", - "sourcePath": "C:\\Users\\Diego\\dev\\blockchain\\dapp-real-state\\contracts\\token\\ERC721Enumerable.sol", - "ast": { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721Enumerable.sol", - "exportedSymbols": { - "ERC721Enumerable": [ - 931 - ] - }, - "id": 932, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 642, - "literals": [ - "solidity", - "0.6", - ".2" - ], - "nodeType": "PragmaDirective", - "src": "35:22:3" - }, - { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC165.sol", - "file": "./ERC165.sol", - "id": 643, - "nodeType": "ImportDirective", - "scope": 932, - "sourceUnit": 106, - "src": "61:22:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721.sol", - "file": "./ERC721.sol", - "id": 644, - "nodeType": "ImportDirective", - "scope": 932, - "sourceUnit": 641, - "src": "85:22:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 645, - "name": "ERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 105, - "src": "320:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC165_$105", - "typeString": "contract ERC165" - } - }, - "id": 646, - "nodeType": "InheritanceSpecifier", - "src": "320:6:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 647, - "name": "ERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 640, - "src": "328:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$640", - "typeString": "contract ERC721" - } - }, - "id": 648, - "nodeType": "InheritanceSpecifier", - "src": "328:6:3" - } - ], - "contractDependencies": [ - 105, - 640, - 1538, - 1623 - ], - "contractKind": "contract", - "documentation": "@dev ERC-721 Non-Fungible Token Standard, optional enumeration extension.\n\n * This allows a contract to publish its full list of NFTs and make them discoverable.", - "fullyImplemented": true, - "id": 931, - "linearizedBaseContracts": [ - 931, - 640, - 1623, - 1538, - 105 - ], - "name": "ERC721Enumerable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 653, - "name": "_ownedTokens", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 931, - "src": "396:50:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 652, - "keyType": { - "id": 649, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "404:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "396:29:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 650, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "415:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 651, - "length": null, - "nodeType": "ArrayTypeName", - "src": "415:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 657, - "name": "_ownedTokensIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 931, - "src": "519:53:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "typeName": { - "id": 656, - "keyType": { - "id": 654, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "527:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "519:27:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "538:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 660, - "name": "_allTokens", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 931, - "src": "636:28:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "636:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 659, - "length": null, - "nodeType": "ArrayTypeName", - "src": "636:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 664, - "name": "_allTokensIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 931, - "src": "738:51:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "typeName": { - "id": 663, - "keyType": { - "id": 661, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "746:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "738:27:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "757:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": true, - "id": 667, - "name": "_INTERFACE_ID_ERC721_ENUMERABLE", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 931, - "src": "1014:68:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 665, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1014:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783738306539643633", - "id": 666, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1072:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2014223715_by_1", - "typeString": "int_const 2014223715" - }, - "value": "0x780e9d63" - }, - "visibility": "private" - }, - { - "body": { - "id": 674, - "nodeType": "Block", - "src": "1205:70:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 671, - "name": "_INTERFACE_ID_ERC721_ENUMERABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 667, - "src": "1235:31:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 670, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 104, - "src": "1216:18:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1216:51:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 673, - "nodeType": "ExpressionStatement", - "src": "1216:51:3" - } - ] - }, - "documentation": "@dev Initializes the contract registering the supported interface.", - "id": 675, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 668, - "nodeType": "ParameterList", - "parameters": [], - "src": "1195:2:3" - }, - "returnParameters": { - "id": 669, - "nodeType": "ParameterList", - "parameters": [], - "src": "1205:0:3" - }, - "scope": 931, - "src": "1184:91:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 698, - "nodeType": "Block", - "src": "1777:96:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 685, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 679, - "src": "1796:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 687, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 677, - "src": "1814:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 686, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 206, - "src": "1804:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1804:16:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1796:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 684, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1788:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1788:33:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 691, - "nodeType": "ExpressionStatement", - "src": "1788:33:3" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 692, - "name": "_ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "1839:12:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 694, - "indexExpression": { - "argumentTypes": null, - "id": 693, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 677, - "src": "1852:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1839:19:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 696, - "indexExpression": { - "argumentTypes": null, - "id": 695, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 679, - "src": "1859:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1839:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 683, - "id": 697, - "nodeType": "Return", - "src": "1832:33:3" - } - ] - }, - "documentation": "@dev Gets the token ID at a given index of the tokens list of the requested owner\n@param owner address owning the tokens list to be accessed\n@param index uint256 representing the index to be accessed of the requested tokens list\n@return uint256 token ID at the given index of the tokens list owned by the requested address", - "functionSelector": "2f745c59", - "id": 699, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenOfOwnerByIndex", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 680, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 677, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 699, - "src": "1685:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1685:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 679, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 699, - "src": "1700:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1700:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1684:30:3" - }, - "returnParameters": { - "id": 683, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 682, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 699, - "src": "1763:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 681, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1763:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1762:9:3" - }, - "scope": 931, - "src": "1656:217:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 707, - "nodeType": "Block", - "src": "2084:43:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 704, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "2102:10:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2102:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 703, - "id": 706, - "nodeType": "Return", - "src": "2095:24:3" - } - ] - }, - "documentation": "@dev Gets the total amount of tokens stored by the contract\n@return uint256 representing the total amount of tokens", - "functionSelector": "18160ddd", - "id": 708, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 700, - "nodeType": "ParameterList", - "parameters": [], - "src": "2051:2:3" - }, - "returnParameters": { - "id": 703, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 702, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 708, - "src": "2075:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 701, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2075:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2074:9:3" - }, - "scope": 931, - "src": "2031:96:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 726, - "nodeType": "Block", - "src": "2539:84:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 716, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 710, - "src": "2558:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 717, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 708, - "src": "2566:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2566:13:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2558:21:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 715, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2550:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2550:30:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 721, - "nodeType": "ExpressionStatement", - "src": "2550:30:3" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 722, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "2598:10:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 724, - "indexExpression": { - "argumentTypes": null, - "id": 723, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 710, - "src": "2609:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2598:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 714, - "id": 725, - "nodeType": "Return", - "src": "2591:24:3" - } - ] - }, - "documentation": "@dev Gets the token ID at a given index of all the tokens in this contract\nReverts if the index is greater or equal to the total number of tokens\n@param index uint256 representing the index to be accessed of the tokens list\n@return uint256 token ID at the given index of the tokens list", - "functionSelector": "4f6ccce7", - "id": 727, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenByIndex", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 711, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 710, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 727, - "src": "2494:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 709, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2494:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2493:15:3" - }, - "returnParameters": { - "id": 714, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 713, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 727, - "src": "2530:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 712, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2530:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2529:9:3" - }, - "scope": 931, - "src": "2472:151:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 574 - ], - "body": { - "id": 755, - "nodeType": "Block", - "src": "3125:168:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 740, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "3156:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 741, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "3162:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 742, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 733, - "src": "3166:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 737, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "3136:5:3", - "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721Enumerable_$931", - "typeString": "contract super ERC721Enumerable" - } - }, - "id": 739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 574, - "src": "3136:19:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3136:38:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 744, - "nodeType": "ExpressionStatement", - "src": "3136:38:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 746, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "3220:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 747, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 733, - "src": "3226:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 745, - "name": "_removeTokenFromOwnerEnumeration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 881, - "src": "3187:32:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3187:47:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 749, - "nodeType": "ExpressionStatement", - "src": "3187:47:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 751, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "3273:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 752, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 733, - "src": "3277:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 750, - "name": "_addTokenToOwnerEnumeration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "3245:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3245:40:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 754, - "nodeType": "ExpressionStatement", - "src": "3245:40:3" - } - ] - }, - "documentation": "@dev Internal function to transfer ownership of a given token ID to another address.\nAs opposed to transferFrom, this imposes no restrictions on msg.sender.\n@param from current owner of the token\n@param to address to receive the ownership of the given token ID\n@param tokenId uint256 ID of the token to be transferred", - "id": 756, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transferFrom", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 735, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3116:8:3" - }, - "parameters": { - "id": 734, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 729, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 756, - "src": "3040:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 728, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3040:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 731, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 756, - "src": "3063:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3063:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 733, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 756, - "src": "3084:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 732, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3084:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3029:77:3" - }, - "returnParameters": { - "id": 736, - "nodeType": "ParameterList", - "parameters": [], - "src": "3125:0:3" - }, - "scope": 931, - "src": "3007:286:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 508 - ], - "body": { - "id": 780, - "nodeType": "Block", - "src": "3618:147:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 767, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 758, - "src": "3641:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 768, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 760, - "src": "3645:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 764, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "3629:5:3", - "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721Enumerable_$931", - "typeString": "contract super ERC721Enumerable" - } - }, - "id": 766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 508, - "src": "3629:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3629:24:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 770, - "nodeType": "ExpressionStatement", - "src": "3629:24:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 772, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 758, - "src": "3694:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 773, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 760, - "src": "3698:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 771, - "name": "_addTokenToOwnerEnumeration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "3666:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3666:40:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 775, - "nodeType": "ExpressionStatement", - "src": "3666:40:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 777, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 760, - "src": "3749:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 776, - "name": "_addTokenToAllTokensEnumeration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "3717:31:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3717:40:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 779, - "nodeType": "ExpressionStatement", - "src": "3717:40:3" - } - ] - }, - "documentation": "@dev Internal function to mint a new token\nReverts if the given token ID already exists\n@param to address the beneficiary that will own the minted token\n@param tokenId uint256 ID of the token to be minted", - "id": 781, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 762, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3609:8:3" - }, - "parameters": { - "id": 761, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 758, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 781, - "src": "3571:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3571:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 760, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 781, - "src": "3583:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3583:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3570:29:3" - }, - "returnParameters": { - "id": 763, - "nodeType": "ParameterList", - "parameters": [], - "src": "3618:0:3" - }, - "scope": 931, - "src": "3556:209:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 804, - "nodeType": "Block", - "src": "4140:112:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 788, - "name": "_ownedTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 657, - "src": "4151:17:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 790, - "indexExpression": { - "argumentTypes": null, - "id": 789, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "4169:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4151:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 791, - "name": "_ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "4180:12:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 793, - "indexExpression": { - "argumentTypes": null, - "id": 792, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "4193:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4180:16:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4180:23:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4151:52:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 796, - "nodeType": "ExpressionStatement", - "src": "4151:52:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 801, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "4236:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 797, - "name": "_ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "4214:12:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 799, - "indexExpression": { - "argumentTypes": null, - "id": 798, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "4227:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4214:16:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4214:21:3", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4214:30:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 803, - "nodeType": "ExpressionStatement", - "src": "4214:30:3" - } - ] - }, - "documentation": "@dev Private function to add a token to this extension's ownership-tracking data structures.\n@param to address representing the new owner of the given token ID\n@param tokenId uint256 ID of the token to be added to the tokens list of the given address", - "id": 805, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addTokenToOwnerEnumeration", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 786, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 783, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 805, - "src": "4103:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 782, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4103:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 785, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 805, - "src": "4115:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 784, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4115:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4102:29:3" - }, - "returnParameters": { - "id": 787, - "nodeType": "ParameterList", - "parameters": [], - "src": "4140:0:3" - }, - "scope": 931, - "src": "4066:186:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 823, - "nodeType": "Block", - "src": "4519:98:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 810, - "name": "_allTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 664, - "src": "4530:15:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 812, - "indexExpression": { - "argumentTypes": null, - "id": 811, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 807, - "src": "4546:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4530:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 813, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "4557:10:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4557:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4530:44:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 816, - "nodeType": "ExpressionStatement", - "src": "4530:44:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 820, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 807, - "src": "4601:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 817, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "4585:10:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4585:15:3", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4585:24:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 822, - "nodeType": "ExpressionStatement", - "src": "4585:24:3" - } - ] - }, - "documentation": "@dev Private function to add a token to this extension's token tracking data structures.\n@param tokenId uint256 ID of the token to be added to the tokens list", - "id": 824, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addTokenToAllTokensEnumeration", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 807, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 824, - "src": "4494:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4494:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4493:17:3" - }, - "returnParameters": { - "id": 809, - "nodeType": "ParameterList", - "parameters": [], - "src": "4519:0:3" - }, - "scope": 931, - "src": "4453:164:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 880, - "nodeType": "Block", - "src": "5337:987:3", - "statements": [ - { - "assignments": [ - 832 - ], - "declarations": [ - { - "constant": false, - "id": 832, - "name": "lastTokenIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 880, - "src": "5522:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 831, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5522:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 840, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 838, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5577:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 833, - "name": "_ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "5547:12:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 835, - "indexExpression": { - "argumentTypes": null, - "id": 834, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 826, - "src": "5560:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5547:18:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5547:25:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 6759, - "src": "5547:29:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5547:32:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5522:57:3" - }, - { - "assignments": [ - 842 - ], - "declarations": [ - { - "constant": false, - "id": 842, - "name": "tokenIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 880, - "src": "5590:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5590:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 846, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 843, - "name": "_ownedTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 657, - "src": "5611:17:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 845, - "indexExpression": { - "argumentTypes": null, - "id": 844, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 828, - "src": "5629:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5611:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5590:47:3" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 847, - "name": "tokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 842, - "src": "5744:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 848, - "name": "lastTokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 832, - "src": "5758:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5744:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 873, - "nodeType": "IfStatement", - "src": "5740:328:3", - "trueBody": { - "id": 872, - "nodeType": "Block", - "src": "5774:294:3", - "statements": [ - { - "assignments": [ - 851 - ], - "declarations": [ - { - "constant": false, - "id": 851, - "name": "lastTokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 872, - "src": "5789:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5789:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 857, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 852, - "name": "_ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "5811:12:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 854, - "indexExpression": { - "argumentTypes": null, - "id": 853, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 826, - "src": "5824:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5811:18:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 856, - "indexExpression": { - "argumentTypes": null, - "id": 855, - "name": "lastTokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 832, - "src": "5830:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5811:34:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5789:56:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 858, - "name": "_ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "5862:12:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 861, - "indexExpression": { - "argumentTypes": null, - "id": 859, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 826, - "src": "5875:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5862:18:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 862, - "indexExpression": { - "argumentTypes": null, - "id": 860, - "name": "tokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 842, - "src": "5881:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5862:30:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 863, - "name": "lastTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 851, - "src": "5895:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5862:44:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 865, - "nodeType": "ExpressionStatement", - "src": "5862:44:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 866, - "name": "_ownedTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 657, - "src": "5979:17:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 868, - "indexExpression": { - "argumentTypes": null, - "id": 867, - "name": "lastTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 851, - "src": "5997:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5979:30:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 869, - "name": "tokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 842, - "src": "6012:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5979:43:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 871, - "nodeType": "ExpressionStatement", - "src": "5979:43:3" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 874, - "name": "_ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "6080:12:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 876, - "indexExpression": { - "argumentTypes": null, - "id": 875, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 826, - "src": "6093:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6080:18:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pop", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6080:22:3", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6080:24:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 879, - "nodeType": "ExpressionStatement", - "src": "6080:24:3" - } - ] - }, - "documentation": "@dev Private function to remove a token from this extension's ownership-tracking data structures. Note that\nwhile the token is not assigned a new owner, the _ownedTokensIndex mapping is _not_ updated: this allows for\ngas optimizations e.g. when performing a transfer operation (avoiding double writes).\nThis has O(1) time complexity, but alters the order of the _ownedTokens array.\n@param from address representing the previous owner of the given token ID\n@param tokenId uint256 ID of the token to be removed from the tokens list of the given address", - "id": 881, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_removeTokenFromOwnerEnumeration", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 829, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 826, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 881, - "src": "5284:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 825, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5284:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 828, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 881, - "src": "5298:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 827, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5298:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5283:31:3" - }, - "returnParameters": { - "id": 830, - "nodeType": "ParameterList", - "parameters": [], - "src": "5337:0:3" - }, - "scope": 931, - "src": "5242:1082:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 929, - "nodeType": "Block", - "src": "6690:1008:3", - "statements": [ - { - "assignments": [ - 887 - ], - "declarations": [ - { - "constant": false, - "id": 887, - "name": "lastTokenIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 929, - "src": "6872:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 886, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6872:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 893, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 891, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6919:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 888, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "6897:10:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6897:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 6759, - "src": "6897:21:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6897:24:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6872:49:3" - }, - { - "assignments": [ - 895 - ], - "declarations": [ - { - "constant": false, - "id": 895, - "name": "tokenIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 929, - "src": "6932:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6932:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 899, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 896, - "name": "_allTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 664, - "src": "6953:15:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 898, - "indexExpression": { - "argumentTypes": null, - "id": 897, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 883, - "src": "6969:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6953:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6932:45:3" - }, - { - "assignments": [ - 901 - ], - "declarations": [ - { - "constant": false, - "id": 901, - "name": "lastTokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 929, - "src": "7304:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 900, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7304:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 905, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 902, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "7326:10:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 904, - "indexExpression": { - "argumentTypes": null, - "id": 903, - "name": "lastTokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 887, - "src": "7337:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7326:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7304:48:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 906, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "7365:10:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 908, - "indexExpression": { - "argumentTypes": null, - "id": 907, - "name": "tokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 895, - "src": "7376:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7365:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 909, - "name": "lastTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "7390:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7365:36:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 911, - "nodeType": "ExpressionStatement", - "src": "7365:36:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 912, - "name": "_allTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 664, - "src": "7470:15:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 914, - "indexExpression": { - "argumentTypes": null, - "id": 913, - "name": "lastTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "7486:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7470:28:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 915, - "name": "tokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 895, - "src": "7501:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7470:41:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 917, - "nodeType": "ExpressionStatement", - "src": "7470:41:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 918, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "7635:10:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pop", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7635:14:3", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7635:16:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 922, - "nodeType": "ExpressionStatement", - "src": "7635:16:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 923, - "name": "_allTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 664, - "src": "7662:15:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 925, - "indexExpression": { - "argumentTypes": null, - "id": 924, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 883, - "src": "7678:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7662:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 926, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7689:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7662:28:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 928, - "nodeType": "ExpressionStatement", - "src": "7662:28:3" - } - ] - }, - "documentation": "@dev Private function to remove a token from this extension's token tracking data structures.\nThis has O(1) time complexity, but alters the order of the _allTokens array.\n@param tokenId uint256 ID of the token to be removed from the tokens list", - "id": 930, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_removeTokenFromAllTokensEnumeration", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 884, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 883, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 930, - "src": "6665:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 882, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6665:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6664:17:3" - }, - "returnParameters": { - "id": 885, - "nodeType": "ParameterList", - "parameters": [], - "src": "6690:0:3" - }, - "scope": 931, - "src": "6619:1079:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - } - ], - "scope": 932, - "src": "291:7410:3" - } - ], - "src": "35:7668:3" - }, - "legacyAST": { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721Enumerable.sol", - "exportedSymbols": { - "ERC721Enumerable": [ - 931 - ] - }, - "id": 932, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 642, - "literals": [ - "solidity", - "0.6", - ".2" - ], - "nodeType": "PragmaDirective", - "src": "35:22:3" - }, - { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC165.sol", - "file": "./ERC165.sol", - "id": 643, - "nodeType": "ImportDirective", - "scope": 932, - "sourceUnit": 106, - "src": "61:22:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721.sol", - "file": "./ERC721.sol", - "id": 644, - "nodeType": "ImportDirective", - "scope": 932, - "sourceUnit": 641, - "src": "85:22:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 645, - "name": "ERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 105, - "src": "320:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC165_$105", - "typeString": "contract ERC165" - } - }, - "id": 646, - "nodeType": "InheritanceSpecifier", - "src": "320:6:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 647, - "name": "ERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 640, - "src": "328:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$640", - "typeString": "contract ERC721" - } - }, - "id": 648, - "nodeType": "InheritanceSpecifier", - "src": "328:6:3" - } - ], - "contractDependencies": [ - 105, - 640, - 1538, - 1623 - ], - "contractKind": "contract", - "documentation": "@dev ERC-721 Non-Fungible Token Standard, optional enumeration extension.\n\n * This allows a contract to publish its full list of NFTs and make them discoverable.", - "fullyImplemented": true, - "id": 931, - "linearizedBaseContracts": [ - 931, - 640, - 1623, - 1538, - 105 - ], - "name": "ERC721Enumerable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 653, - "name": "_ownedTokens", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 931, - "src": "396:50:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 652, - "keyType": { - "id": 649, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "404:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "396:29:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 650, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "415:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 651, - "length": null, - "nodeType": "ArrayTypeName", - "src": "415:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 657, - "name": "_ownedTokensIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 931, - "src": "519:53:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "typeName": { - "id": 656, - "keyType": { - "id": 654, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "527:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "519:27:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "538:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 660, - "name": "_allTokens", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 931, - "src": "636:28:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "636:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 659, - "length": null, - "nodeType": "ArrayTypeName", - "src": "636:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 664, - "name": "_allTokensIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 931, - "src": "738:51:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "typeName": { - "id": 663, - "keyType": { - "id": 661, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "746:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "738:27:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "757:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": true, - "id": 667, - "name": "_INTERFACE_ID_ERC721_ENUMERABLE", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 931, - "src": "1014:68:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 665, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1014:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783738306539643633", - "id": 666, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1072:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2014223715_by_1", - "typeString": "int_const 2014223715" - }, - "value": "0x780e9d63" - }, - "visibility": "private" - }, - { - "body": { - "id": 674, - "nodeType": "Block", - "src": "1205:70:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 671, - "name": "_INTERFACE_ID_ERC721_ENUMERABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 667, - "src": "1235:31:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 670, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 104, - "src": "1216:18:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1216:51:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 673, - "nodeType": "ExpressionStatement", - "src": "1216:51:3" - } - ] - }, - "documentation": "@dev Initializes the contract registering the supported interface.", - "id": 675, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 668, - "nodeType": "ParameterList", - "parameters": [], - "src": "1195:2:3" - }, - "returnParameters": { - "id": 669, - "nodeType": "ParameterList", - "parameters": [], - "src": "1205:0:3" - }, - "scope": 931, - "src": "1184:91:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 698, - "nodeType": "Block", - "src": "1777:96:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 685, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 679, - "src": "1796:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 687, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 677, - "src": "1814:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 686, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 206, - "src": "1804:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1804:16:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1796:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 684, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1788:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1788:33:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 691, - "nodeType": "ExpressionStatement", - "src": "1788:33:3" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 692, - "name": "_ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "1839:12:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 694, - "indexExpression": { - "argumentTypes": null, - "id": 693, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 677, - "src": "1852:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1839:19:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 696, - "indexExpression": { - "argumentTypes": null, - "id": 695, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 679, - "src": "1859:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1839:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 683, - "id": 697, - "nodeType": "Return", - "src": "1832:33:3" - } - ] - }, - "documentation": "@dev Gets the token ID at a given index of the tokens list of the requested owner\n@param owner address owning the tokens list to be accessed\n@param index uint256 representing the index to be accessed of the requested tokens list\n@return uint256 token ID at the given index of the tokens list owned by the requested address", - "functionSelector": "2f745c59", - "id": 699, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenOfOwnerByIndex", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 680, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 677, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 699, - "src": "1685:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1685:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 679, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 699, - "src": "1700:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1700:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1684:30:3" - }, - "returnParameters": { - "id": 683, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 682, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 699, - "src": "1763:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 681, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1763:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1762:9:3" - }, - "scope": 931, - "src": "1656:217:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 707, - "nodeType": "Block", - "src": "2084:43:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 704, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "2102:10:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2102:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 703, - "id": 706, - "nodeType": "Return", - "src": "2095:24:3" - } - ] - }, - "documentation": "@dev Gets the total amount of tokens stored by the contract\n@return uint256 representing the total amount of tokens", - "functionSelector": "18160ddd", - "id": 708, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 700, - "nodeType": "ParameterList", - "parameters": [], - "src": "2051:2:3" - }, - "returnParameters": { - "id": 703, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 702, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 708, - "src": "2075:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 701, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2075:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2074:9:3" - }, - "scope": 931, - "src": "2031:96:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 726, - "nodeType": "Block", - "src": "2539:84:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 716, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 710, - "src": "2558:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 717, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 708, - "src": "2566:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2566:13:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2558:21:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 715, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2550:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2550:30:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 721, - "nodeType": "ExpressionStatement", - "src": "2550:30:3" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 722, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "2598:10:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 724, - "indexExpression": { - "argumentTypes": null, - "id": 723, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 710, - "src": "2609:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2598:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 714, - "id": 725, - "nodeType": "Return", - "src": "2591:24:3" - } - ] - }, - "documentation": "@dev Gets the token ID at a given index of all the tokens in this contract\nReverts if the index is greater or equal to the total number of tokens\n@param index uint256 representing the index to be accessed of the tokens list\n@return uint256 token ID at the given index of the tokens list", - "functionSelector": "4f6ccce7", - "id": 727, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenByIndex", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 711, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 710, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 727, - "src": "2494:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 709, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2494:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2493:15:3" - }, - "returnParameters": { - "id": 714, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 713, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 727, - "src": "2530:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 712, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2530:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2529:9:3" - }, - "scope": 931, - "src": "2472:151:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 574 - ], - "body": { - "id": 755, - "nodeType": "Block", - "src": "3125:168:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 740, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "3156:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 741, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "3162:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 742, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 733, - "src": "3166:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 737, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "3136:5:3", - "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721Enumerable_$931", - "typeString": "contract super ERC721Enumerable" - } - }, - "id": 739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 574, - "src": "3136:19:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3136:38:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 744, - "nodeType": "ExpressionStatement", - "src": "3136:38:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 746, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "3220:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 747, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 733, - "src": "3226:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 745, - "name": "_removeTokenFromOwnerEnumeration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 881, - "src": "3187:32:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3187:47:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 749, - "nodeType": "ExpressionStatement", - "src": "3187:47:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 751, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "3273:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 752, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 733, - "src": "3277:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 750, - "name": "_addTokenToOwnerEnumeration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "3245:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3245:40:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 754, - "nodeType": "ExpressionStatement", - "src": "3245:40:3" - } - ] - }, - "documentation": "@dev Internal function to transfer ownership of a given token ID to another address.\nAs opposed to transferFrom, this imposes no restrictions on msg.sender.\n@param from current owner of the token\n@param to address to receive the ownership of the given token ID\n@param tokenId uint256 ID of the token to be transferred", - "id": 756, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transferFrom", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 735, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3116:8:3" - }, - "parameters": { - "id": 734, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 729, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 756, - "src": "3040:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 728, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3040:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 731, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 756, - "src": "3063:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3063:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 733, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 756, - "src": "3084:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 732, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3084:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3029:77:3" - }, - "returnParameters": { - "id": 736, - "nodeType": "ParameterList", - "parameters": [], - "src": "3125:0:3" - }, - "scope": 931, - "src": "3007:286:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 508 - ], - "body": { - "id": 780, - "nodeType": "Block", - "src": "3618:147:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 767, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 758, - "src": "3641:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 768, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 760, - "src": "3645:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 764, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "3629:5:3", - "typeDescriptions": { - "typeIdentifier": "t_super$_ERC721Enumerable_$931", - "typeString": "contract super ERC721Enumerable" - } - }, - "id": 766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 508, - "src": "3629:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3629:24:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 770, - "nodeType": "ExpressionStatement", - "src": "3629:24:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 772, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 758, - "src": "3694:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 773, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 760, - "src": "3698:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 771, - "name": "_addTokenToOwnerEnumeration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "3666:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3666:40:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 775, - "nodeType": "ExpressionStatement", - "src": "3666:40:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 777, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 760, - "src": "3749:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 776, - "name": "_addTokenToAllTokensEnumeration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "3717:31:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3717:40:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 779, - "nodeType": "ExpressionStatement", - "src": "3717:40:3" - } - ] - }, - "documentation": "@dev Internal function to mint a new token\nReverts if the given token ID already exists\n@param to address the beneficiary that will own the minted token\n@param tokenId uint256 ID of the token to be minted", - "id": 781, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 762, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3609:8:3" - }, - "parameters": { - "id": 761, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 758, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 781, - "src": "3571:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3571:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 760, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 781, - "src": "3583:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3583:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3570:29:3" - }, - "returnParameters": { - "id": 763, - "nodeType": "ParameterList", - "parameters": [], - "src": "3618:0:3" - }, - "scope": 931, - "src": "3556:209:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 804, - "nodeType": "Block", - "src": "4140:112:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 788, - "name": "_ownedTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 657, - "src": "4151:17:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 790, - "indexExpression": { - "argumentTypes": null, - "id": 789, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "4169:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4151:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 791, - "name": "_ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "4180:12:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 793, - "indexExpression": { - "argumentTypes": null, - "id": 792, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "4193:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4180:16:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4180:23:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4151:52:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 796, - "nodeType": "ExpressionStatement", - "src": "4151:52:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 801, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "4236:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 797, - "name": "_ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "4214:12:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 799, - "indexExpression": { - "argumentTypes": null, - "id": 798, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "4227:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4214:16:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4214:21:3", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4214:30:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 803, - "nodeType": "ExpressionStatement", - "src": "4214:30:3" - } - ] - }, - "documentation": "@dev Private function to add a token to this extension's ownership-tracking data structures.\n@param to address representing the new owner of the given token ID\n@param tokenId uint256 ID of the token to be added to the tokens list of the given address", - "id": 805, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addTokenToOwnerEnumeration", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 786, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 783, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 805, - "src": "4103:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 782, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4103:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 785, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 805, - "src": "4115:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 784, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4115:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4102:29:3" - }, - "returnParameters": { - "id": 787, - "nodeType": "ParameterList", - "parameters": [], - "src": "4140:0:3" - }, - "scope": 931, - "src": "4066:186:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 823, - "nodeType": "Block", - "src": "4519:98:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 810, - "name": "_allTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 664, - "src": "4530:15:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 812, - "indexExpression": { - "argumentTypes": null, - "id": 811, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 807, - "src": "4546:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4530:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 813, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "4557:10:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4557:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4530:44:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 816, - "nodeType": "ExpressionStatement", - "src": "4530:44:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 820, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 807, - "src": "4601:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 817, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "4585:10:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4585:15:3", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4585:24:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 822, - "nodeType": "ExpressionStatement", - "src": "4585:24:3" - } - ] - }, - "documentation": "@dev Private function to add a token to this extension's token tracking data structures.\n@param tokenId uint256 ID of the token to be added to the tokens list", - "id": 824, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addTokenToAllTokensEnumeration", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 807, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 824, - "src": "4494:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4494:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4493:17:3" - }, - "returnParameters": { - "id": 809, - "nodeType": "ParameterList", - "parameters": [], - "src": "4519:0:3" - }, - "scope": 931, - "src": "4453:164:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 880, - "nodeType": "Block", - "src": "5337:987:3", - "statements": [ - { - "assignments": [ - 832 - ], - "declarations": [ - { - "constant": false, - "id": 832, - "name": "lastTokenIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 880, - "src": "5522:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 831, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5522:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 840, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 838, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5577:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 833, - "name": "_ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "5547:12:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 835, - "indexExpression": { - "argumentTypes": null, - "id": 834, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 826, - "src": "5560:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5547:18:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5547:25:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 6759, - "src": "5547:29:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5547:32:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5522:57:3" - }, - { - "assignments": [ - 842 - ], - "declarations": [ - { - "constant": false, - "id": 842, - "name": "tokenIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 880, - "src": "5590:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5590:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 846, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 843, - "name": "_ownedTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 657, - "src": "5611:17:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 845, - "indexExpression": { - "argumentTypes": null, - "id": 844, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 828, - "src": "5629:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5611:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5590:47:3" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 847, - "name": "tokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 842, - "src": "5744:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 848, - "name": "lastTokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 832, - "src": "5758:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5744:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 873, - "nodeType": "IfStatement", - "src": "5740:328:3", - "trueBody": { - "id": 872, - "nodeType": "Block", - "src": "5774:294:3", - "statements": [ - { - "assignments": [ - 851 - ], - "declarations": [ - { - "constant": false, - "id": 851, - "name": "lastTokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 872, - "src": "5789:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5789:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 857, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 852, - "name": "_ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "5811:12:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 854, - "indexExpression": { - "argumentTypes": null, - "id": 853, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 826, - "src": "5824:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5811:18:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 856, - "indexExpression": { - "argumentTypes": null, - "id": 855, - "name": "lastTokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 832, - "src": "5830:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5811:34:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5789:56:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 858, - "name": "_ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "5862:12:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 861, - "indexExpression": { - "argumentTypes": null, - "id": 859, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 826, - "src": "5875:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5862:18:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 862, - "indexExpression": { - "argumentTypes": null, - "id": 860, - "name": "tokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 842, - "src": "5881:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5862:30:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 863, - "name": "lastTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 851, - "src": "5895:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5862:44:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 865, - "nodeType": "ExpressionStatement", - "src": "5862:44:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 866, - "name": "_ownedTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 657, - "src": "5979:17:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 868, - "indexExpression": { - "argumentTypes": null, - "id": 867, - "name": "lastTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 851, - "src": "5997:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5979:30:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 869, - "name": "tokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 842, - "src": "6012:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5979:43:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 871, - "nodeType": "ExpressionStatement", - "src": "5979:43:3" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 874, - "name": "_ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "6080:12:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 876, - "indexExpression": { - "argumentTypes": null, - "id": 875, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 826, - "src": "6093:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6080:18:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pop", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6080:22:3", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6080:24:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 879, - "nodeType": "ExpressionStatement", - "src": "6080:24:3" - } - ] - }, - "documentation": "@dev Private function to remove a token from this extension's ownership-tracking data structures. Note that\nwhile the token is not assigned a new owner, the _ownedTokensIndex mapping is _not_ updated: this allows for\ngas optimizations e.g. when performing a transfer operation (avoiding double writes).\nThis has O(1) time complexity, but alters the order of the _ownedTokens array.\n@param from address representing the previous owner of the given token ID\n@param tokenId uint256 ID of the token to be removed from the tokens list of the given address", - "id": 881, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_removeTokenFromOwnerEnumeration", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 829, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 826, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 881, - "src": "5284:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 825, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5284:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 828, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 881, - "src": "5298:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 827, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5298:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5283:31:3" - }, - "returnParameters": { - "id": 830, - "nodeType": "ParameterList", - "parameters": [], - "src": "5337:0:3" - }, - "scope": 931, - "src": "5242:1082:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 929, - "nodeType": "Block", - "src": "6690:1008:3", - "statements": [ - { - "assignments": [ - 887 - ], - "declarations": [ - { - "constant": false, - "id": 887, - "name": "lastTokenIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 929, - "src": "6872:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 886, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6872:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 893, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 891, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6919:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 888, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "6897:10:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6897:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 6759, - "src": "6897:21:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6897:24:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6872:49:3" - }, - { - "assignments": [ - 895 - ], - "declarations": [ - { - "constant": false, - "id": 895, - "name": "tokenIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 929, - "src": "6932:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6932:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 899, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 896, - "name": "_allTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 664, - "src": "6953:15:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 898, - "indexExpression": { - "argumentTypes": null, - "id": 897, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 883, - "src": "6969:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6953:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6932:45:3" - }, - { - "assignments": [ - 901 - ], - "declarations": [ - { - "constant": false, - "id": 901, - "name": "lastTokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 929, - "src": "7304:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 900, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7304:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 905, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 902, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "7326:10:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 904, - "indexExpression": { - "argumentTypes": null, - "id": 903, - "name": "lastTokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 887, - "src": "7337:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7326:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7304:48:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 906, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "7365:10:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 908, - "indexExpression": { - "argumentTypes": null, - "id": 907, - "name": "tokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 895, - "src": "7376:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7365:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 909, - "name": "lastTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "7390:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7365:36:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 911, - "nodeType": "ExpressionStatement", - "src": "7365:36:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 912, - "name": "_allTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 664, - "src": "7470:15:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 914, - "indexExpression": { - "argumentTypes": null, - "id": 913, - "name": "lastTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "7486:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7470:28:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 915, - "name": "tokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 895, - "src": "7501:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7470:41:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 917, - "nodeType": "ExpressionStatement", - "src": "7470:41:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 918, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "7635:10:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pop", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7635:14:3", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7635:16:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 922, - "nodeType": "ExpressionStatement", - "src": "7635:16:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 923, - "name": "_allTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 664, - "src": "7662:15:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 925, - "indexExpression": { - "argumentTypes": null, - "id": 924, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 883, - "src": "7678:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7662:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 926, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7689:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7662:28:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 928, - "nodeType": "ExpressionStatement", - "src": "7662:28:3" - } - ] - }, - "documentation": "@dev Private function to remove a token from this extension's token tracking data structures.\nThis has O(1) time complexity, but alters the order of the _allTokens array.\n@param tokenId uint256 ID of the token to be removed from the tokens list", - "id": 930, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_removeTokenFromAllTokensEnumeration", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 884, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 883, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 930, - "src": "6665:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 882, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6665:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6664:17:3" - }, - "returnParameters": { - "id": 885, - "nodeType": "ParameterList", - "parameters": [], - "src": "6690:0:3" - }, - "scope": 931, - "src": "6619:1079:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - } - ], - "scope": 932, - "src": "291:7410:3" - } - ], - "src": "35:7668:3" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.0", - "updatedAt": "2020-08-31T20:17:13.052Z", - "devdoc": { - "details": "ERC-721 Non-Fungible Token Standard, optional enumeration extension. * This allows a contract to publish its full list of NFTs and make them discoverable.", - "methods": { - "approve(address,uint256)": { - "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * Requirements: * - The caller must own the token or be an approved operator. - `tokenId` must exist. * Emits an {Approval} event." - }, - "constructor": { - "details": "Initializes the contract registering the supported interface." - }, - "getApproved(uint256)": { - "details": "Returns the account approved for `tokenId` token." - }, - "isApprovedForAll(address,address)": { - "details": "Tells whether an operator is approved by a given owner", - "params": { - "operator": "operator address which you want to query the approval of", - "owner": "owner address which you want to query the approval of" - }, - "returns": { - "_0": "bool whether the given operator is approved by the given owner" - } - }, - "isPaused()": { - "details": "Returns true if the contract is paused." - }, - "owner()": { - "details": "Returns the address of the current owner." - }, - "pause()": { - "details": "Stops operational state." - }, - "resume()": { - "details": "Resumes operational state." - }, - "setApprovalForAll(address,bool)": { - "details": "Sets or unsets the approval of a given operator An operator is allowed to transfer all tokens of the sender on their behalf", - "params": { - "approved": "representing the status of the approval to be set", - "to": "operator address to set the approval" - } - }, - "supportsInterface(bytes4)": { - "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]. * Time complexity O(1), guaranteed to always use less than 30 000 gas." - }, - "tokenByIndex(uint256)": { - "details": "Gets the token ID at a given index of all the tokens in this contract Reverts if the index is greater or equal to the total number of tokens", - "params": { - "index": "uint256 representing the index to be accessed of the tokens list" - }, - "returns": { - "_0": "uint256 token ID at the given index of the tokens list" - } - }, - "tokenOfOwnerByIndex(address,uint256)": { - "details": "Gets the token ID at a given index of the tokens list of the requested owner", - "params": { - "index": "uint256 representing the index to be accessed of the requested tokens list", - "owner": "address owning the tokens list to be accessed" - }, - "returns": { - "_0": "uint256 token ID at the given index of the tokens list owned by the requested address" - } - }, - "totalSupply()": { - "details": "Gets the total amount of tokens stored by the contract", - "returns": { - "_0": "uint256 representing the total amount of tokens" - } - }, - "transferOwnership(address)": { - "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/app_/src/contracts/ERC721Metadata.json b/app_/src/contracts/ERC721Metadata.json deleted file mode 100644 index 03f4f91..0000000 --- a/app_/src/contracts/ERC721Metadata.json +++ /dev/null @@ -1,3891 +0,0 @@ -{ - "contractName": "ERC721Metadata", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "string", - "name": "baseURI", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Resumed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "isPaused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "resume", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenOfOwnerByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "baseURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Resumed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resume\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * Requirements: * - The caller must own the token or be an approved operator. - `tokenId` must exist. * Emits an {Approval} event.\"},\"baseURI()\":{\"details\":\"Returns the base URI set via {_setBaseURI}.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Tells whether an operator is approved by a given owner\",\"params\":{\"operator\":\"operator address which you want to query the approval of\",\"owner\":\"owner address which you want to query the approval of\"},\"returns\":{\"_0\":\"bool whether the given operator is approved by the given owner\"}},\"isPaused()\":{\"details\":\"Returns true if the contract is paused.\"},\"name()\":{\"details\":\"Returns the token name.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"pause()\":{\"details\":\"Stops operational state.\"},\"resume()\":{\"details\":\"Resumes operational state.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Sets or unsets the approval of a given operator An operator is allowed to transfer all tokens of the sender on their behalf\",\"params\":{\"approved\":\"representing the status of the approval to be set\",\"to\":\"operator address to set the approval\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]. * Time complexity O(1), guaranteed to always use less than 30 000 gas.\"},\"symbol()\":{\"details\":\"Returns the token symbol.\"},\"tokenByIndex(uint256)\":{\"details\":\"Gets the token ID at a given index of all the tokens in this contract Reverts if the index is greater or equal to the total number of tokens\",\"params\":{\"index\":\"uint256 representing the index to be accessed of the tokens list\"},\"returns\":{\"_0\":\"uint256 token ID at the given index of the tokens list\"}},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"Gets the token ID at a given index of the tokens list of the requested owner\",\"params\":{\"index\":\"uint256 representing the index to be accessed of the requested tokens list\",\"owner\":\"address owning the tokens list to be accessed\"},\"returns\":{\"_0\":\"uint256 token ID at the given index of the tokens list owned by the requested address\"}},\"tokenURI(uint256)\":{\"details\":\"Returns an URI for a given token ID Throws if the token ID does not exist. It may return an empty string.\",\"params\":{\"tokenId\":\"uint256 ID of the token to query\"}},\"totalSupply()\":{\"details\":\"Gets the total amount of tokens stored by the contract\",\"returns\":{\"_0\":\"uint256 representing the total amount of tokens\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721Metadata.sol\":\"ERC721Metadata\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC165.sol\":{\"keccak256\":\"0xcb595039f64d3e7f1ae680b8105f8d4d2010b73bf62355ddd0c0de824d399742\",\"urls\":[\"bzz-raw://f2e08ce1bbb0ea2628db773b0d2402d399e211953f9574da17089ae465b048d8\",\"dweb:/ipfs/QmT1vHbq7tbwvFt9uRaCULyGmFgZ1h35ft9M4j1p86S6SU\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721.sol\":{\"keccak256\":\"0xcad0e0a24a93303fafd1d297a05ec681d88f531119d1aeb5f5e3acb20ef35488\",\"urls\":[\"bzz-raw://34bd2407e09c01b87a9df1eba31ffe59c2b31d49413cda70f7f62546c6edf725\",\"dweb:/ipfs/QmZfKPGE8M7FXVhuH9XdbiRiqJ6t4LSBuinJLCM16aLbX8\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721Enumerable.sol\":{\"keccak256\":\"0x5470ca0c9c63f39b80e811d115c97a6a2feb86fad2d7ea742cf2b4a63087a092\",\"urls\":[\"bzz-raw://3e38c35a33a2d89df83b622d792917899ea4f11e92595f7ef4977f91336f8262\",\"dweb:/ipfs/QmPqrJ8C32jZN7FoLtmJw41m6GzQwr3vFAhCxC5N7oaE2W\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721Metadata.sol\":{\"keccak256\":\"0x113368c3ababe045d1ea39987230e6542f4b0d9ea7b217e9171b1d70babb4a45\",\"urls\":[\"bzz-raw://ec4a1fd9ae09b8eca5ed039130e56326ff69cb6c5aa239cf960c8f5223c7a63e\",\"dweb:/ipfs/QmY4arb8wki1KGwMkq8NGx2LG1UQdS931V4SGDDJdvpbNv\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/util/Ownable.sol\":{\"keccak256\":\"0x82ef8aa91736625e9a857d74f887113396f3efff3f92487487951c01640185bd\",\"urls\":[\"bzz-raw://000e161ca84afddaf09a3f2aa5e2ac4ba231d99337dd8f2f34fb6968ed57ce95\",\"dweb:/ipfs/Qmavkk6BGxoxtrVpYe737HyuxE4WsPaFdtW39JsRiS9G4m\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/util/Pausable.sol\":{\"keccak256\":\"0xe2cc8e8eee187921e15d10ac5d7d92c222a223b9048c6f7e9f5b93b6527f95c7\",\"urls\":[\"bzz-raw://9aeec234fe8bf28bed06a87a4cf873c5f1edd23b7719b84bc94b8b74da4ba160\",\"dweb:/ipfs/QmNuG23aVNMxMTybSiRKYvE4649qgdL1yFy3MJdBAeCd5N\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806\",\"urls\":[\"bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5\",\"dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x321ee37ef4925020aa818a03ec7fe48e057561f65ab009a84f6c20c86026ade7\",\"urls\":[\"bzz-raw://01f9d74a17a56024984251b97e428e24c9d3abffbae5bd290f0ec263c82e9694\",\"dweb:/ipfs/QmRryCuuXu2ukrDmatB8TqdEhPLiK6NBRt41RiPUaX1qKy\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xdfb4f812600ba4ce6738c35584ceb8c9433472583051b48ba5b1f66cb758a498\",\"urls\":[\"bzz-raw://df02dffe1c1de089d9b4f6192f0dcf464526f2230f420b3deec4645e0cdd2bff\",\"dweb:/ipfs/QmcqXGAU3KJqwrgUVoGJ2W8osomhSJ4R5kdsRpbuW3fELS\"]},\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0x2d68b8e6425249cd05cc0a66ea50cb5b8d10cbdac59c6de834e1002232813faf\",\"urls\":[\"bzz-raw://e3ce6b6ac17c67bba01e9c8c778f82f68fd4823bd083359cdd03040b70eeeba3\",\"dweb:/ipfs/QmX4t1jWwKaAkacvmQxEG5rBtLXg3EHw6pRjKhMZR8iw3n\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x79484115dbfa737054f73e041009a02eeb434dd81be5d684bf4255ad3b5ab558\",\"urls\":[\"bzz-raw://12c119699463450c2544f5b9d8709b5e9e9164c62948a79c3ec53423a051d969\",\"dweb:/ipfs/QmPJduzSAaekq447QeFqAp3E7dc8CnNk5ajofckJ4ahA7Q\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b5060405162002beb38038062002beb833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b838201915060208201858111156200006f57600080fd5b82518660018202830111640100000000821117156200008d57600080fd5b8083526020830192505050908051906020019080838360005b83811015620000c3578082015181840152602081019050620000a6565b50505050905090810190601f168015620000f15780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011557600080fd5b838201915060208201858111156200012c57600080fd5b82518660018202830111640100000000821117156200014a57600080fd5b8083526020830192505050908051906020019080838360005b838110156200018057808201518184015260208101905062000163565b50505050905090810190601f168015620001ae5780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084640100000000821115620001d257600080fd5b83820191506020820185811115620001e957600080fd5b82518660018202830111640100000000821117156200020757600080fd5b8083526020830192505050908051906020019080838360005b838110156200023d57808201518184015260208101905062000220565b50505050905090810190601f1680156200026b5780820380516001836020036101000a031916815260200191505b506040525050506200028a6301ffc9a760e01b620003ff60201b60201c565b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160146101000a81548160ff0219169083151502179055506200037b6380ac58cd60e01b620003ff60201b60201c565b6200039363780e9d6360e01b620003ff60201b60201c565b82600a9080519060200190620003ab92919062000508565b5081600b9080519060200190620003c492919062000508565b5080600c9080519060200190620003dd92919062000508565b50620003f6635b5e139f60e01b620003ff60201b60201c565b505050620005b7565b63ffffffff60e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156200049c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433136353a20696e76616c696420696e746572666163652049440000000081525060200191505060405180910390fd5b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200054b57805160ff19168380011785556200057c565b828001600101855582156200057c579182015b828111156200057b5782518255916020019190600101906200055e565b5b5090506200058b91906200058f565b5090565b620005b491905b80821115620005b057600081600090555060010162000596565b5090565b90565b61262480620005c76000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80636c0360eb116100b8578063a22cb4651161007c578063a22cb465146106b3578063b187bd2614610703578063b88d4fde14610725578063c87b56dd1461082a578063e985e9c5146108d1578063f2fde38b1461094d57610142565b80636c0360eb1461050157806370a08231146105845780638456cb59146105dc5780638da5cb5b146105e657806395d89b411461063057610142565b806318160ddd1161010a57806318160ddd146102f557806323b872dd146103135780632f745c591461038157806342842e0e146103e35780634f6ccce7146104515780636352211e1461049357610142565b806301ffc9a714610147578063046f7da2146101ac57806306fdde03146101b6578063081812fc14610239578063095ea7b3146102a7575b600080fd5b6101926004803603602081101561015d57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610991565b604051808215151515815260200191505060405180910390f35b6101b46109f8565b005b6101be610ba0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101fe5780820151818401526020810190506101e3565b50505050905090810190601f16801561022b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102656004803603602081101561024f57600080fd5b8101908080359060200190929190505050610c42565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102f3600480360360408110156102bd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cdd565b005b6102fd610f1c565b6040518082815260200191505060405180910390f35b61037f6004803603606081101561032957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f29565b005b6103cd6004803603604081101561039757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f4c565b6040518082815260200191505060405180910390f35b61044f600480360360608110156103f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fbf565b005b61047d6004803603602081101561046757600080fd5b8101908080359060200190929190505050610fdf565b6040518082815260200191505060405180910390f35b6104bf600480360360208110156104a957600080fd5b8101908080359060200190929190505050611013565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610509611050565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561054957808201518184015260208101905061052e565b50505050905090810190601f1680156105765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105c66004803603602081101561059a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110f2565b6040518082815260200191505060405180910390f35b6105e46111c7565b005b6105ee61136f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610638611399565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561067857808201518184015260208101905061065d565b50505050905090810190601f1680156106a55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610701600480360360408110156106c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061143b565b005b61070b611575565b604051808215151515815260200191505060405180910390f35b6108286004803603608081101561073b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156107a257600080fd5b8201836020820111156107b457600080fd5b803590602001918460018302840111640100000000831117156107d657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061158c565b005b6108566004803603602081101561084057600080fd5b81019080803590602001909291905050506115b2565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561089657808201518184015260208101905061087b565b50505050905090810190601f1680156108c35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610933600480360360408110156108e757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116c5565b604051808215151515815260200191505060405180910390f35b61098f6004803603602081101561096357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611759565b005b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b600160149054906101000a900460ff16610a5d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806125496022913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b20576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600160146101000a81548160ff0219169083151502179055507f5d287a3a02ade76478d8449abebe9dc45b38421247132b68127dd3cd6c05f3cf33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6060600a8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c385780601f10610c0d57610100808354040283529160200191610c38565b820191906000526020600020905b815481529060010190602001808311610c1b57829003601f168201915b5050505050905090565b6000610c4d82611962565b610ca2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806124a4602c913960400191505060405180910390fd5b6003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610ce681611962565b610d3b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001806125c2602d913960400191505060405180910390fd5b6000610d4682611013565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dcd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806125286021913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610e0d5750610e0c81336116c5565b5b610e62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806124426038913960400191505060405180910390fd5b826003600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff16610ed584611013565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000600880549050905090565b610f3333826119d4565b610f3c57600080fd5b610f47838383611a69565b505050565b6000610f57836110f2565b8210610f6257600080fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610fac57fe5b9060005260206000200154905092915050565b610fda8383836040518060200160405280600081525061158c565b505050565b6000610fe9610f1c565b8210610ff457600080fd5b6008828154811061100157fe5b90600052602060002001549050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6060600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110e85780601f106110bd576101008083540402835291602001916110e8565b820191906000526020600020905b8154815290600101906020018083116110cb57829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611179576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061247a602a913960400191505060405180910390fd5b6111c0600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611a8d565b9050919050565b600160149054906101000a900460ff161561122d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061259c6026913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60018060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114315780601f1061140657610100808354040283529160200191611431565b820191906000526020600020905b81548152906001019060200180831161141457829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561147457600080fd5b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6000600160149054906101000a900460ff16905090565b611597848484610f29565b6115a384848484611a9b565b6115ac57600080fd5b50505050565b60606115bd82611962565b611612576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806124f9602f913960400191505060405180910390fd5b600d60008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116b95780601f1061168e576101008083540402835291602001916116b9565b820191906000526020600020905b81548152906001019060200180831161169c57829003601f168201915b50505050509050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461181c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156118a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806123f86026913960400191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b6000806119e083611013565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611a4f57508373ffffffffffffffffffffffffffffffffffffffff16611a3784610c42565b73ffffffffffffffffffffffffffffffffffffffff16145b80611a605750611a5f81856116c5565b5b91505092915050565b611a74838383611c84565b611a7e8382611f3e565b611a8882826120e7565b505050565b600081600001549050919050565b6000611abc8473ffffffffffffffffffffffffffffffffffffffff166121ab565b611ac95760019050611c7c565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611ba4578082015181840152602081019050611b89565b50505050905090810190601f168015611bd15780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015611bf357600080fd5b505af1158015611c07573d6000803e3d6000fd5b505050506040513d6020811015611c1d57600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b611c8e33826119d4565b611ce3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603181526020018061256b6031913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff16611d0382611013565b73ffffffffffffffffffffffffffffffffffffffff1614611d6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806124d06029913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611df5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061241e6024913960400191505060405180910390fd5b611dfe816121f6565b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611e97600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206122b4565b611ede600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206122d7565b808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000611f966001600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506122ed90919063ffffffff16565b9050600060076000848152602001908152602001600020549050818114612083576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811061200357fe5b9060005260206000200154905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811061205b57fe5b9060005260206000200181905550816007600083815260200190815260200160002081905550505b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806120cb57fe5b6001900381819060005260206000200160009055905550505050565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506007600083815260200190815260200160002081905550600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150555050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91508082141580156121ed57506000801b8214155b92505050919050565b600073ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146122b15760006003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6122cc600182600001546122ed90919063ffffffff16565b816000018190555050565b6001816000016000828254019250508190555050565b600061232f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612337565b905092915050565b60008383111582906123e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156123a957808201518184015260208101905061238e565b50505050905090810190601f1680156123d65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65725061757361626c653a206578706563746564202770617573656427207374617475734552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665645061757361626c653a20657870656374656420276e6f742070617573656427207374617475734552433732313a20617070726f7665207265717565737420666f72206e6f6e6578697374656e7420746f6b656ea2646970667358221220d3f1e504e5022ca83acaa018d436d19712563a39f3b4e13d8b06a6370573056e64736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101425760003560e01c80636c0360eb116100b8578063a22cb4651161007c578063a22cb465146106b3578063b187bd2614610703578063b88d4fde14610725578063c87b56dd1461082a578063e985e9c5146108d1578063f2fde38b1461094d57610142565b80636c0360eb1461050157806370a08231146105845780638456cb59146105dc5780638da5cb5b146105e657806395d89b411461063057610142565b806318160ddd1161010a57806318160ddd146102f557806323b872dd146103135780632f745c591461038157806342842e0e146103e35780634f6ccce7146104515780636352211e1461049357610142565b806301ffc9a714610147578063046f7da2146101ac57806306fdde03146101b6578063081812fc14610239578063095ea7b3146102a7575b600080fd5b6101926004803603602081101561015d57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610991565b604051808215151515815260200191505060405180910390f35b6101b46109f8565b005b6101be610ba0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101fe5780820151818401526020810190506101e3565b50505050905090810190601f16801561022b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102656004803603602081101561024f57600080fd5b8101908080359060200190929190505050610c42565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102f3600480360360408110156102bd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cdd565b005b6102fd610f1c565b6040518082815260200191505060405180910390f35b61037f6004803603606081101561032957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f29565b005b6103cd6004803603604081101561039757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f4c565b6040518082815260200191505060405180910390f35b61044f600480360360608110156103f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fbf565b005b61047d6004803603602081101561046757600080fd5b8101908080359060200190929190505050610fdf565b6040518082815260200191505060405180910390f35b6104bf600480360360208110156104a957600080fd5b8101908080359060200190929190505050611013565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610509611050565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561054957808201518184015260208101905061052e565b50505050905090810190601f1680156105765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105c66004803603602081101561059a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110f2565b6040518082815260200191505060405180910390f35b6105e46111c7565b005b6105ee61136f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610638611399565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561067857808201518184015260208101905061065d565b50505050905090810190601f1680156106a55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610701600480360360408110156106c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061143b565b005b61070b611575565b604051808215151515815260200191505060405180910390f35b6108286004803603608081101561073b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156107a257600080fd5b8201836020820111156107b457600080fd5b803590602001918460018302840111640100000000831117156107d657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061158c565b005b6108566004803603602081101561084057600080fd5b81019080803590602001909291905050506115b2565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561089657808201518184015260208101905061087b565b50505050905090810190601f1680156108c35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610933600480360360408110156108e757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116c5565b604051808215151515815260200191505060405180910390f35b61098f6004803603602081101561096357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611759565b005b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b600160149054906101000a900460ff16610a5d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806125496022913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b20576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600160146101000a81548160ff0219169083151502179055507f5d287a3a02ade76478d8449abebe9dc45b38421247132b68127dd3cd6c05f3cf33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6060600a8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c385780601f10610c0d57610100808354040283529160200191610c38565b820191906000526020600020905b815481529060010190602001808311610c1b57829003601f168201915b5050505050905090565b6000610c4d82611962565b610ca2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806124a4602c913960400191505060405180910390fd5b6003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610ce681611962565b610d3b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001806125c2602d913960400191505060405180910390fd5b6000610d4682611013565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dcd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806125286021913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610e0d5750610e0c81336116c5565b5b610e62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806124426038913960400191505060405180910390fd5b826003600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff16610ed584611013565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000600880549050905090565b610f3333826119d4565b610f3c57600080fd5b610f47838383611a69565b505050565b6000610f57836110f2565b8210610f6257600080fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610fac57fe5b9060005260206000200154905092915050565b610fda8383836040518060200160405280600081525061158c565b505050565b6000610fe9610f1c565b8210610ff457600080fd5b6008828154811061100157fe5b90600052602060002001549050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6060600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110e85780601f106110bd576101008083540402835291602001916110e8565b820191906000526020600020905b8154815290600101906020018083116110cb57829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611179576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061247a602a913960400191505060405180910390fd5b6111c0600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611a8d565b9050919050565b600160149054906101000a900460ff161561122d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061259c6026913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60018060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114315780601f1061140657610100808354040283529160200191611431565b820191906000526020600020905b81548152906001019060200180831161141457829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561147457600080fd5b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6000600160149054906101000a900460ff16905090565b611597848484610f29565b6115a384848484611a9b565b6115ac57600080fd5b50505050565b60606115bd82611962565b611612576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806124f9602f913960400191505060405180910390fd5b600d60008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116b95780601f1061168e576101008083540402835291602001916116b9565b820191906000526020600020905b81548152906001019060200180831161169c57829003601f168201915b50505050509050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461181c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156118a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806123f86026913960400191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b6000806119e083611013565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611a4f57508373ffffffffffffffffffffffffffffffffffffffff16611a3784610c42565b73ffffffffffffffffffffffffffffffffffffffff16145b80611a605750611a5f81856116c5565b5b91505092915050565b611a74838383611c84565b611a7e8382611f3e565b611a8882826120e7565b505050565b600081600001549050919050565b6000611abc8473ffffffffffffffffffffffffffffffffffffffff166121ab565b611ac95760019050611c7c565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611ba4578082015181840152602081019050611b89565b50505050905090810190601f168015611bd15780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015611bf357600080fd5b505af1158015611c07573d6000803e3d6000fd5b505050506040513d6020811015611c1d57600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b611c8e33826119d4565b611ce3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603181526020018061256b6031913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff16611d0382611013565b73ffffffffffffffffffffffffffffffffffffffff1614611d6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806124d06029913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611df5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061241e6024913960400191505060405180910390fd5b611dfe816121f6565b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611e97600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206122b4565b611ede600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206122d7565b808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000611f966001600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506122ed90919063ffffffff16565b9050600060076000848152602001908152602001600020549050818114612083576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811061200357fe5b9060005260206000200154905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811061205b57fe5b9060005260206000200181905550816007600083815260200190815260200160002081905550505b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806120cb57fe5b6001900381819060005260206000200160009055905550505050565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506007600083815260200190815260200160002081905550600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150555050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91508082141580156121ed57506000801b8214155b92505050919050565b600073ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146122b15760006003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6122cc600182600001546122ed90919063ffffffff16565b816000018190555050565b6001816000016000828254019250508190555050565b600061232f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612337565b905092915050565b60008383111582906123e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156123a957808201518184015260208101905061238e565b50505050905090810190601f1680156123d65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65725061757361626c653a206578706563746564202770617573656427207374617475734552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665645061757361626c653a20657870656374656420276e6f742070617573656427207374617475734552433732313a20617070726f7665207265717565737420666f72206e6f6e6578697374656e7420746f6b656ea2646970667358221220d3f1e504e5022ca83acaa018d436d19712563a39f3b4e13d8b06a6370573056e64736f6c63430006020033", - "sourceMap": "174:2483:4:-:0;;;754:267;8:9:-1;5:2;;;30:1;27;20:12;5:2;754:267:4;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;754:267:4;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;330:9;325:1;311:12;307:20;289:16;285:43;282:58;261:11;247:12;244:29;233:115;230:2;;;361:1;358;351:12;230:2;384:12;379:3;372:25;420:4;415:3;411:14;404:21;;0:432;;754:267:4;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;754:267:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;330:9;325:1;311:12;307:20;289:16;285:43;282:58;261:11;247:12;244:29;233:115;230:2;;;361:1;358;351:12;230:2;384:12;379:3;372:25;420:4;415:3;411:14;404:21;;0:432;;754:267:4;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;754:267:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;330:9;325:1;311:12;307:20;289:16;285:43;282:58;261:11;247:12;244:29;233:115;230:2;;;361:1;358;351:12;230:2;384:12;379:3;372:25;420:4;415:3;411:14;404:21;;0:432;;754:267:4;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;754:267:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;825:40:1;531:10;844:20;;825:18;;;:40;;:::i;:::-;884:10:7;875:6;;:19;;;;;;;;;;;;;;;;;;943:6;;;;;;;;;;;910:40;;939:1;910:40;;;;;;;;;;;;1188:5:8;1178:7;;:15;;;;;;;;;;;;;;;;;;2256:40:2;2108:10;2275:20;;2256:18;;;:40;;:::i;:::-;1216:51:3;1072:10;1235:31;;1216:18;;;:51;;:::i;:::-;891:4:4;883:5;:12;;;;;;;;;;;;:::i;:::-;;916:6;906:7;:16;;;;;;;;;;;;:::i;:::-;;944:7;933:8;:18;;;;;;;;;;;;:::i;:::-;;964:49;735:10;983:29;;964:18;;;:49;;:::i;:::-;754:267;;;174:2483;;1607:193:1;1698:10;1683:25;;:11;:25;;;;;1675:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1788:4;1752:20;:33;1773:11;1752:33;;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;1607:193;:::o;174:2483:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "174:2483:4:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;174:2483:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1199:167:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1199:167:1;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1613:123:8;;;:::i;:::-;;1084:85:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1084:85:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3815:241:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3815:241:2;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3156:570;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3156:570:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2031:96:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5089:218:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5089:218:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1656:217:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1656:217:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5315:168:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5315:168:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2472:151:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2472:151:3;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2568:110:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2568:110:2;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1406:91:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1406:91:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2312:248:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2312:248:2;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1424:123:8;;;:::i;:::-;;1039:79:7;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1234:89:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1234:89:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4356:217:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4356:217:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1280:80:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5491:257:2;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;5491:257:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5491:257:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5491:257:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5491:257:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;5491:257:2;;;;;;;;;;;;;;;:::i;:::-;;1706:244:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1706:244:4;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1706:244:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4902:179:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4902:179:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1273:281:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1273:281:7;;;;;;;;;;;;;;;;;;;:::i;:::-;;1199:167:1;1296:4;1325:20;:33;1346:11;1325:33;;;;;;;;;;;;;;;;;;;;;;;;;;;1318:40;;1199:167;;;:::o;1613:123:8:-;764:7;;;;;;;;;;;756:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;480:10:7::1;470:20;;:6;;;;;;;;;;;:20;;;462:65;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;1688:5:8::2;1678:7;;:15;;;;;;;;;;;;;;;;;;1709:19;1717:10;1709:19;;;;;;;;;;;;;;;;;;;;;;1613:123::o:0;1084:85:4:-;1123:13;1156:5;1149:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1084:85;:::o;3815:241:2:-;3874:7;3916:16;3924:7;3916;:16::i;:::-;3894:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4024:15;:24;4040:7;4024:24;;;;;;;;;;;;;;;;;;;;;4017:31;;3815:241;;;:::o;3156:570::-;3242:16;3250:7;3242;:16::i;:::-;3220:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3344:13;3360:16;3368:7;3360;:16::i;:::-;3344:32;;3401:5;3395:11;;:2;:11;;;;3387:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3493:5;3479:19;;:10;:19;;;:58;;;;3502:35;3519:5;3526:10;3502:16;:35::i;:::-;3479:58;3457:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3661:2;3634:15;:24;3650:7;3634:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;3710:7;3706:2;3679:39;;3688:16;3696:7;3688;:16::i;:::-;3679:39;;;;;;;;;;;;3156:570;;;:::o;2031:96:3:-;2075:7;2102:10;:17;;;;2095:24;;2031:96;:::o;5089:218:2:-;5214:39;5233:10;5245:7;5214:18;:39::i;:::-;5206:48;;;;;;5267:32;5281:4;5287:2;5291:7;5267:13;:32::i;:::-;5089:218;;;:::o;1656:217:3:-;1763:7;1804:16;1814:5;1804:9;:16::i;:::-;1796:5;:24;1788:33;;;;;;1839:12;:19;1852:5;1839:19;;;;;;;;;;;;;;;1859:5;1839:26;;;;;;;;;;;;;;;;1832:33;;1656:217;;;;:::o;5315:168:2:-;5436:39;5453:4;5459:2;5463:7;5436:39;;;;;;;;;;;;:16;:39::i;:::-;5315:168;;;:::o;2472:151:3:-;2530:7;2566:13;:11;:13::i;:::-;2558:5;:21;2550:30;;;;;;2598:10;2609:5;2598:17;;;;;;;;;;;;;;;;2591:24;;2472:151;;;:::o;2568:110:2:-;2623:7;2650:11;:20;2662:7;2650:20;;;;;;;;;;;;;;;;;;;;;2643:27;;2568:110;;;:::o;1406:91:4:-;1448:13;1481:8;1474:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1406:91;:::o;2312:248:2:-;2367:7;2426:1;2409:19;;:5;:19;;;;2387:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2518:34;:17;:24;2536:5;2518:24;;;;;;;;;;;;;;;:32;:34::i;:::-;2511:41;;2312:248;;;:::o;1424:123:8:-;554:7;;;;;;;;;;;553:8;545:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;480:10:7::1;470:20;;:6;;;;;;;;;;;:20;;;462:65;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;1501:4:8::2;1491:7:::0;::::2;:14;;;;;;;;;;;;;;;;;;1521:18;1528:10;1521:18;;;;;;;;;;;;;;;;;;;;;;1424:123::o:0;1039:79:7:-;1077:7;1104:6;;;;;;;;;;;1097:13;;1039:79;:::o;1234:89:4:-;1275:13;1308:7;1301:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1234:89;:::o;4356:217:2:-;4442:10;4436:16;;:2;:16;;;;4428:25;;;;;;4501:8;4464:18;:30;4483:10;4464:30;;;;;;;;;;;;;;;:34;4495:2;4464:34;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;4552:2;4525:40;;4540:10;4525:40;;;4556:8;4525:40;;;;;;;;;;;;;;;;;;;;;;4356:217;;:::o;1280:80:8:-;1321:4;1345:7;;;;;;;;;;;1338:14;;1280:80;:::o;5491:257:2:-;5641:31;5654:4;5660:2;5664:7;5641:12;:31::i;:::-;5691:48;5714:4;5720:2;5724:7;5733:5;5691:22;:48::i;:::-;5683:57;;;;;;5491:257;;;;:::o;1706:244:4:-;1764:13;1812:16;1820:7;1812;:16::i;:::-;1790:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1923:10;:19;1934:7;1923:19;;;;;;;;;;;1916:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1706:244;;;:::o;4902:179:2:-;5009:4;5038:18;:25;5057:5;5038:25;;;;;;;;;;;;;;;:35;5064:8;5038:35;;;;;;;;;;;;;;;;;;;;;;;;;5031:42;;4902:179;;;;:::o;1273:281:7:-;480:10;470:20;;:6;;;;;;;;;;;:20;;;462:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1396:1:::1;1376:22;;:8;:22;;;;1354:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1484:8;1475:6;;:17;;;;;;;;;;;;;;;;;;1537:8;1508:38;;1529:6;;;;;;;;;;;1508:38;;;;;;;;;;;;1273:281:::0;:::o;5949:163:2:-;6014:4;6031:13;6047:11;:20;6059:7;6047:20;;;;;;;;;;;;;;;;;;;;;6031:36;;6102:1;6085:19;;:5;:19;;;;6078:26;;;5949:163;;;:::o;6481:307::-;6593:4;6615:13;6631:16;6639:7;6631;:16::i;:::-;6615:32;;6677:5;6666:16;;:7;:16;;;:64;;;;6723:7;6699:31;;:20;6711:7;6699:11;:20::i;:::-;:31;;;6666:64;:113;;;;6747:32;6764:5;6771:7;6747:16;:32::i;:::-;6666:113;6658:122;;;6481:307;;;;:::o;3007:286:3:-;3136:38;3156:4;3162:2;3166:7;3136:19;:38::i;:::-;3187:47;3220:4;3226:7;3187:32;:47::i;:::-;3245:40;3273:2;3277:7;3245:27;:40::i;:::-;3007:286;;;:::o;1098:112:14:-;1163:7;1189;:14;;;1182:21;;1098:112;;;:::o;8606:448:2:-;8762:4;8784:15;:2;:13;;;:15::i;:::-;8779:60;;8823:4;8816:11;;;;8779:60;8851:13;8883:2;8867:36;;;8918:10;8943:4;8962:7;8984:5;8867:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8867:133:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8867:133:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8867:133:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8867:133:2;;;;;;;;;;;;;;;;8851:149;;1229:10;9029:16;;9019:26;;;:6;:26;;;;9011:35;;;8606:448;;;;;;;:::o;7382:685::-;7532:39;7551:10;7563:7;7532:18;:39::i;:::-;7510:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7701:4;7681:24;;:16;7689:7;7681;:16::i;:::-;:24;;;7659:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7807:1;7793:16;;:2;:16;;;;7785:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7863:23;7878:7;7863:14;:23::i;:::-;7922:2;7899:11;:20;7911:7;7899:20;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;7935:35;:17;:23;7953:4;7935:23;;;;;;;;;;;;;;;:33;:35::i;:::-;7981:33;:17;:21;7999:2;7981:21;;;;;;;;;;;;;;;:31;:33::i;:::-;8051:7;8047:2;8032:27;;8041:4;8032:27;;;;;;;;;;;;7382:685;;;:::o;5242:1082:3:-;5522:22;5547:32;5577:1;5547:12;:18;5560:4;5547:18;;;;;;;;;;;;;;;:25;;;;:29;;:32;;;;:::i;:::-;5522:57;;5590:18;5611:17;:26;5629:7;5611:26;;;;;;;;;;;;5590:47;;5758:14;5744:10;:28;5740:328;;5789:19;5811:12;:18;5824:4;5811:18;;;;;;;;;;;;;;;5830:14;5811:34;;;;;;;;;;;;;;;;5789:56;;5895:11;5862:12;:18;5875:4;5862:18;;;;;;;;;;;;;;;5881:10;5862:30;;;;;;;;;;;;;;;:44;;;;6012:10;5979:17;:30;5997:11;5979:30;;;;;;;;;;;:43;;;;5740:328;;6080:12;:18;6093:4;6080:18;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;;;;;;;5242:1082;;;;:::o;4066:186::-;4180:12;:16;4193:2;4180:16;;;;;;;;;;;;;;;:23;;;;4151:17;:26;4169:7;4151:26;;;;;;;;;;;:52;;;;4214:12;:16;4227:2;4214:16;;;;;;;;;;;;;;;4236:7;4214:30;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;4214:30:3;;;;;;;;;;;;;;;;;;;4066:186;;:::o;718:610:13:-;778:4;1036:16;1062:19;1084:66;1062:88;;;;1251:7;1239:20;1227:32;;1290:11;1278:8;:23;;:42;;;;;1317:3;1305:15;;:8;:15;;1278:42;1270:51;;;;718:610;;;:::o;9138:175:2:-;9238:1;9202:38;;:15;:24;9218:7;9202:24;;;;;;;;;;;;;;;;;;;;;:38;;;9198:108;;9292:1;9257:15;:24;9273:7;9257:24;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;9198:108;9138:175;:::o;1400:108:14:-;1480:21;1499:1;1480:7;:14;;;:18;;:21;;;;:::i;:::-;1463:7;:14;;:38;;;;1400:108;:::o;1216:178::-;1386:1;1368:7;:14;;;:19;;;;;;;;;;;1216:178;:::o;1321:134:11:-;1379:7;1405:43;1409:1;1412;1405:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1398:50;;1321:134;;;;:::o;1746:187::-;1832:7;1864:1;1859;:6;;1867:12;1851:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1851:29:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1890:9;1906:1;1902;:5;1890:17;;1925:1;1918:8;;;1746:187;;;;;:::o", - "source": "// SPDX-License-Identifier: MIT\r\n\r\npragma solidity 0.6.2;\r\n\r\nimport \"@openzeppelin/contracts/utils/Strings.sol\";\r\nimport \"./ERC165.sol\";\r\nimport \"./ERC721Enumerable.sol\";\r\n\r\ncontract ERC721Metadata is ERC165, ERC721Enumerable {\r\n string private _name;\r\n string private _symbol;\r\n string private _baseURI;\r\n\r\n // mapping Token ID => Token URI\r\n mapping(uint256 => string) private _tokenURIs;\r\n\r\n /*\r\n * bytes4(keccak256('name()')) == 0x06fdde03\r\n * bytes4(keccak256('symbol()')) == 0x95d89b41\r\n * bytes4(keccak256('tokenURI(uint256)')) == 0xc87b56dd\r\n *\r\n * => 0x06fdde03 ^ 0x95d89b41 ^ 0xc87b56dd == 0x5b5e139f\r\n */\r\n bytes4 private constant _INTERFACE_ID_ERC721_METADATA = 0x5b5e139f;\r\n\r\n constructor(\r\n string memory name,\r\n string memory symbol,\r\n string memory baseURI\r\n ) public {\r\n _name = name;\r\n _symbol = symbol;\r\n _baseURI = baseURI;\r\n\r\n _registerInterface(_INTERFACE_ID_ERC721_METADATA);\r\n }\r\n\r\n /**\r\n * @dev Returns the token name.\r\n */\r\n function name() external view returns (string memory) {\r\n return _name;\r\n }\r\n\r\n /**\r\n * @dev Returns the token symbol.\r\n */\r\n function symbol() external view returns (string memory) {\r\n return _symbol;\r\n }\r\n\r\n /**\r\n * @dev Returns the base URI set via {_setBaseURI}.\r\n */\r\n function baseURI() external view returns (string memory) {\r\n return _baseURI;\r\n }\r\n\r\n /**\r\n * @dev Returns an URI for a given token ID\r\n * Throws if the token ID does not exist. It may return an empty string.\r\n * @param tokenId uint256 ID of the token to query\r\n */\r\n function tokenURI(uint256 tokenId) external view returns (string memory) {\r\n require(\r\n _exists(tokenId),\r\n \"ERC721Metadata: URI query for nonexistent token\"\r\n );\r\n\r\n return _tokenURIs[tokenId];\r\n }\r\n\r\n /**\r\n * @dev Sets `_tokenURI` for `tokenId`.\r\n */\r\n function _setTokenURI(uint256 tokenId) internal virtual {\r\n require(\r\n _exists(tokenId),\r\n \"ERC721Metadata: URI set of nonexistent token\"\r\n );\r\n _tokenURIs[tokenId] = string(\r\n abi.encodePacked(_baseURI, Strings.toString(tokenId))\r\n );\r\n }\r\n\r\n /**\r\n * @dev Internal function to set the base URI for all token IDs. It is\r\n * automatically added as a prefix to the value returned in {tokenURI},\r\n * or to the token ID if {tokenURI} is empty.\r\n */\r\n function _setBaseURI(string memory baseURI_) internal virtual {\r\n _baseURI = baseURI_;\r\n }\r\n}\r\n", - "sourcePath": "C:\\Users\\Diego\\dev\\blockchain\\dapp-real-state\\contracts\\token\\ERC721Metadata.sol", - "ast": { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721Metadata.sol", - "exportedSymbols": { - "ERC721Metadata": [ - 1062 - ] - }, - "id": 1063, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 933, - "literals": [ - "solidity", - "0.6", - ".2" - ], - "nodeType": "PragmaDirective", - "src": "35:22:4" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", - "file": "@openzeppelin/contracts/utils/Strings.sol", - "id": 934, - "nodeType": "ImportDirective", - "scope": 1063, - "sourceUnit": 7251, - "src": "61:51:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC165.sol", - "file": "./ERC165.sol", - "id": 935, - "nodeType": "ImportDirective", - "scope": 1063, - "sourceUnit": 106, - "src": "114:22:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721Enumerable.sol", - "file": "./ERC721Enumerable.sol", - "id": 936, - "nodeType": "ImportDirective", - "scope": 1063, - "sourceUnit": 932, - "src": "138:32:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 937, - "name": "ERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 105, - "src": "201:6:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC165_$105", - "typeString": "contract ERC165" - } - }, - "id": 938, - "nodeType": "InheritanceSpecifier", - "src": "201:6:4" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 939, - "name": "ERC721Enumerable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 931, - "src": "209:16:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Enumerable_$931", - "typeString": "contract ERC721Enumerable" - } - }, - "id": 940, - "nodeType": "InheritanceSpecifier", - "src": "209:16:4" - } - ], - "contractDependencies": [ - 105, - 640, - 931, - 1538, - 1623 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1062, - "linearizedBaseContracts": [ - 1062, - 931, - 640, - 1623, - 1538, - 105 - ], - "name": "ERC721Metadata", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 942, - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1062, - "src": "233:20:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 941, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "233:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 944, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1062, - "src": "260:22:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 943, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "260:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 946, - "name": "_baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1062, - "src": "289:23:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 945, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "289:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 950, - "name": "_tokenURIs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1062, - "src": "359:45:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "typeName": { - "id": 949, - "keyType": { - "id": 947, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "367:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "359:26:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "valueType": { - "id": 948, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "378:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": true, - "id": 953, - "name": "_INTERFACE_ID_ERC721_METADATA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1062, - "src": "679:66:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 951, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "679:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783562356531333966", - "id": 952, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "735:10:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1532892063_by_1", - "typeString": "int_const 1532892063" - }, - "value": "0x5b5e139f" - }, - "visibility": "private" - }, - { - "body": { - "id": 978, - "nodeType": "Block", - "src": "872:149:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 962, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 942, - "src": "883:5:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 963, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 955, - "src": "891:4:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "883:12:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 965, - "nodeType": "ExpressionStatement", - "src": "883:12:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 966, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 944, - "src": "906:7:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 967, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 957, - "src": "916:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "906:16:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 969, - "nodeType": "ExpressionStatement", - "src": "906:16:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 970, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 946, - "src": "933:8:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 971, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 959, - "src": "944:7:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "933:18:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 973, - "nodeType": "ExpressionStatement", - "src": "933:18:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 975, - "name": "_INTERFACE_ID_ERC721_METADATA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 953, - "src": "983:29:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 974, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 104, - "src": "964:18:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "964:49:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 977, - "nodeType": "ExpressionStatement", - "src": "964:49:4" - } - ] - }, - "documentation": null, - "id": 979, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 960, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 955, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 979, - "src": "776:18:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 954, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "776:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 957, - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 979, - "src": "805:20:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 956, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "805:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 959, - "name": "baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 979, - "src": "836:21:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 958, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "836:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "765:99:4" - }, - "returnParameters": { - "id": 961, - "nodeType": "ParameterList", - "parameters": [], - "src": "872:0:4" - }, - "scope": 1062, - "src": "754:267:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 986, - "nodeType": "Block", - "src": "1138:31:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 984, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 942, - "src": "1156:5:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 983, - "id": 985, - "nodeType": "Return", - "src": "1149:12:4" - } - ] - }, - "documentation": "@dev Returns the token name.", - "functionSelector": "06fdde03", - "id": 987, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 980, - "nodeType": "ParameterList", - "parameters": [], - "src": "1097:2:4" - }, - "returnParameters": { - "id": 983, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 982, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 987, - "src": "1123:13:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 981, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1123:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1122:15:4" - }, - "scope": 1062, - "src": "1084:85:4", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 994, - "nodeType": "Block", - "src": "1290:33:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 992, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 944, - "src": "1308:7:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 991, - "id": 993, - "nodeType": "Return", - "src": "1301:14:4" - } - ] - }, - "documentation": "@dev Returns the token symbol.", - "functionSelector": "95d89b41", - "id": 995, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 988, - "nodeType": "ParameterList", - "parameters": [], - "src": "1249:2:4" - }, - "returnParameters": { - "id": 991, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 990, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 995, - "src": "1275:13:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 989, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1275:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1274:15:4" - }, - "scope": 1062, - "src": "1234:89:4", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1002, - "nodeType": "Block", - "src": "1463:34:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1000, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 946, - "src": "1481:8:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 999, - "id": 1001, - "nodeType": "Return", - "src": "1474:15:4" - } - ] - }, - "documentation": "@dev Returns the base URI set via {_setBaseURI}.", - "functionSelector": "6c0360eb", - "id": 1003, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "baseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 996, - "nodeType": "ParameterList", - "parameters": [], - "src": "1422:2:4" - }, - "returnParameters": { - "id": 999, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 998, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1003, - "src": "1448:13:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 997, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1448:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1447:15:4" - }, - "scope": 1062, - "src": "1406:91:4", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1021, - "nodeType": "Block", - "src": "1779:171:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1012, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1005, - "src": "1820:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1011, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 429, - "src": "1812:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 1013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1812:16:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 1014, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1843:49:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb", - "typeString": "literal_string \"ERC721Metadata: URI query for nonexistent token\"" - }, - "value": "ERC721Metadata: URI query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb", - "typeString": "literal_string \"ERC721Metadata: URI query for nonexistent token\"" - } - ], - "id": 1010, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1790:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1790:113:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1016, - "nodeType": "ExpressionStatement", - "src": "1790:113:4" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1017, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 950, - "src": "1923:10:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1019, - "indexExpression": { - "argumentTypes": null, - "id": 1018, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1005, - "src": "1934:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1923:19:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 1009, - "id": 1020, - "nodeType": "Return", - "src": "1916:26:4" - } - ] - }, - "documentation": "@dev Returns an URI for a given token ID\nThrows if the token ID does not exist. It may return an empty string.\n@param tokenId uint256 ID of the token to query", - "functionSelector": "c87b56dd", - "id": 1022, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1006, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1005, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1022, - "src": "1724:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1004, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1724:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1723:17:4" - }, - "returnParameters": { - "id": 1009, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1008, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1022, - "src": "1764:13:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1007, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1764:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1763:15:4" - }, - "scope": 1062, - "src": "1706:244:4", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1050, - "nodeType": "Block", - "src": "2077:247:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1029, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1024, - "src": "2118:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1028, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 429, - "src": "2110:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 1030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2110:16:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e", - "id": 1031, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2141:46:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_94be4a260caaeac1b145f03ffa2e70bc612b64982d04f24073aaf3a5f9009978", - "typeString": "literal_string \"ERC721Metadata: URI set of nonexistent token\"" - }, - "value": "ERC721Metadata: URI set of nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_94be4a260caaeac1b145f03ffa2e70bc612b64982d04f24073aaf3a5f9009978", - "typeString": "literal_string \"ERC721Metadata: URI set of nonexistent token\"" - } - ], - "id": 1027, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2088:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2088:110:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1033, - "nodeType": "ExpressionStatement", - "src": "2088:110:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1034, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 950, - "src": "2209:10:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1036, - "indexExpression": { - "argumentTypes": null, - "id": 1035, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1024, - "src": "2220:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2209:19:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1041, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 946, - "src": "2269:8:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1044, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1024, - "src": "2296:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1042, - "name": "Strings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7250, - "src": "2279:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Strings_$7250_$", - "typeString": "type(library Strings)" - } - }, - "id": 1043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "toString", - "nodeType": "MemberAccess", - "referencedDeclaration": 7249, - "src": "2279:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 1045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2279:25:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 1039, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "2252:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 1040, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2252:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 1046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2252:53:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1038, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2231:6:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 1037, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2231:6:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2231:85:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2209:107:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1049, - "nodeType": "ExpressionStatement", - "src": "2209:107:4" - } - ] - }, - "documentation": "@dev Sets `_tokenURI` for `tokenId`.", - "id": 1051, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1025, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1024, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1051, - "src": "2043:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2043:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2042:17:4" - }, - "returnParameters": { - "id": 1026, - "nodeType": "ParameterList", - "parameters": [], - "src": "2077:0:4" - }, - "scope": 1062, - "src": "2021:303:4", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 1060, - "nodeType": "Block", - "src": "2616:38:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1056, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 946, - "src": "2627:8:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1057, - "name": "baseURI_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1053, - "src": "2638:8:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2627:19:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1059, - "nodeType": "ExpressionStatement", - "src": "2627:19:4" - } - ] - }, - "documentation": "@dev Internal function to set the base URI for all token IDs. It is\nautomatically added as a prefix to the value returned in {tokenURI},\nor to the token ID if {tokenURI} is empty.", - "id": 1061, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1054, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1053, - "name": "baseURI_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1061, - "src": "2575:22:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1052, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2575:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2574:24:4" - }, - "returnParameters": { - "id": 1055, - "nodeType": "ParameterList", - "parameters": [], - "src": "2616:0:4" - }, - "scope": 1062, - "src": "2554:100:4", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 1063, - "src": "174:2483:4" - } - ], - "src": "35:2624:4" - }, - "legacyAST": { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721Metadata.sol", - "exportedSymbols": { - "ERC721Metadata": [ - 1062 - ] - }, - "id": 1063, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 933, - "literals": [ - "solidity", - "0.6", - ".2" - ], - "nodeType": "PragmaDirective", - "src": "35:22:4" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", - "file": "@openzeppelin/contracts/utils/Strings.sol", - "id": 934, - "nodeType": "ImportDirective", - "scope": 1063, - "sourceUnit": 7251, - "src": "61:51:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC165.sol", - "file": "./ERC165.sol", - "id": 935, - "nodeType": "ImportDirective", - "scope": 1063, - "sourceUnit": 106, - "src": "114:22:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721Enumerable.sol", - "file": "./ERC721Enumerable.sol", - "id": 936, - "nodeType": "ImportDirective", - "scope": 1063, - "sourceUnit": 932, - "src": "138:32:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 937, - "name": "ERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 105, - "src": "201:6:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC165_$105", - "typeString": "contract ERC165" - } - }, - "id": 938, - "nodeType": "InheritanceSpecifier", - "src": "201:6:4" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 939, - "name": "ERC721Enumerable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 931, - "src": "209:16:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Enumerable_$931", - "typeString": "contract ERC721Enumerable" - } - }, - "id": 940, - "nodeType": "InheritanceSpecifier", - "src": "209:16:4" - } - ], - "contractDependencies": [ - 105, - 640, - 931, - 1538, - 1623 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1062, - "linearizedBaseContracts": [ - 1062, - 931, - 640, - 1623, - 1538, - 105 - ], - "name": "ERC721Metadata", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 942, - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1062, - "src": "233:20:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 941, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "233:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 944, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1062, - "src": "260:22:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 943, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "260:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 946, - "name": "_baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1062, - "src": "289:23:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 945, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "289:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 950, - "name": "_tokenURIs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1062, - "src": "359:45:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "typeName": { - "id": 949, - "keyType": { - "id": 947, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "367:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "359:26:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "valueType": { - "id": 948, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "378:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": true, - "id": 953, - "name": "_INTERFACE_ID_ERC721_METADATA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1062, - "src": "679:66:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 951, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "679:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783562356531333966", - "id": 952, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "735:10:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1532892063_by_1", - "typeString": "int_const 1532892063" - }, - "value": "0x5b5e139f" - }, - "visibility": "private" - }, - { - "body": { - "id": 978, - "nodeType": "Block", - "src": "872:149:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 962, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 942, - "src": "883:5:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 963, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 955, - "src": "891:4:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "883:12:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 965, - "nodeType": "ExpressionStatement", - "src": "883:12:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 966, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 944, - "src": "906:7:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 967, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 957, - "src": "916:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "906:16:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 969, - "nodeType": "ExpressionStatement", - "src": "906:16:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 970, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 946, - "src": "933:8:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 971, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 959, - "src": "944:7:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "933:18:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 973, - "nodeType": "ExpressionStatement", - "src": "933:18:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 975, - "name": "_INTERFACE_ID_ERC721_METADATA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 953, - "src": "983:29:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 974, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 104, - "src": "964:18:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "964:49:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 977, - "nodeType": "ExpressionStatement", - "src": "964:49:4" - } - ] - }, - "documentation": null, - "id": 979, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 960, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 955, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 979, - "src": "776:18:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 954, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "776:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 957, - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 979, - "src": "805:20:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 956, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "805:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 959, - "name": "baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 979, - "src": "836:21:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 958, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "836:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "765:99:4" - }, - "returnParameters": { - "id": 961, - "nodeType": "ParameterList", - "parameters": [], - "src": "872:0:4" - }, - "scope": 1062, - "src": "754:267:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 986, - "nodeType": "Block", - "src": "1138:31:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 984, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 942, - "src": "1156:5:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 983, - "id": 985, - "nodeType": "Return", - "src": "1149:12:4" - } - ] - }, - "documentation": "@dev Returns the token name.", - "functionSelector": "06fdde03", - "id": 987, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 980, - "nodeType": "ParameterList", - "parameters": [], - "src": "1097:2:4" - }, - "returnParameters": { - "id": 983, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 982, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 987, - "src": "1123:13:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 981, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1123:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1122:15:4" - }, - "scope": 1062, - "src": "1084:85:4", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 994, - "nodeType": "Block", - "src": "1290:33:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 992, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 944, - "src": "1308:7:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 991, - "id": 993, - "nodeType": "Return", - "src": "1301:14:4" - } - ] - }, - "documentation": "@dev Returns the token symbol.", - "functionSelector": "95d89b41", - "id": 995, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 988, - "nodeType": "ParameterList", - "parameters": [], - "src": "1249:2:4" - }, - "returnParameters": { - "id": 991, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 990, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 995, - "src": "1275:13:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 989, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1275:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1274:15:4" - }, - "scope": 1062, - "src": "1234:89:4", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1002, - "nodeType": "Block", - "src": "1463:34:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1000, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 946, - "src": "1481:8:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 999, - "id": 1001, - "nodeType": "Return", - "src": "1474:15:4" - } - ] - }, - "documentation": "@dev Returns the base URI set via {_setBaseURI}.", - "functionSelector": "6c0360eb", - "id": 1003, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "baseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 996, - "nodeType": "ParameterList", - "parameters": [], - "src": "1422:2:4" - }, - "returnParameters": { - "id": 999, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 998, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1003, - "src": "1448:13:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 997, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1448:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1447:15:4" - }, - "scope": 1062, - "src": "1406:91:4", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1021, - "nodeType": "Block", - "src": "1779:171:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1012, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1005, - "src": "1820:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1011, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 429, - "src": "1812:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 1013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1812:16:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 1014, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1843:49:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb", - "typeString": "literal_string \"ERC721Metadata: URI query for nonexistent token\"" - }, - "value": "ERC721Metadata: URI query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb", - "typeString": "literal_string \"ERC721Metadata: URI query for nonexistent token\"" - } - ], - "id": 1010, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1790:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1790:113:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1016, - "nodeType": "ExpressionStatement", - "src": "1790:113:4" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1017, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 950, - "src": "1923:10:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1019, - "indexExpression": { - "argumentTypes": null, - "id": 1018, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1005, - "src": "1934:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1923:19:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 1009, - "id": 1020, - "nodeType": "Return", - "src": "1916:26:4" - } - ] - }, - "documentation": "@dev Returns an URI for a given token ID\nThrows if the token ID does not exist. It may return an empty string.\n@param tokenId uint256 ID of the token to query", - "functionSelector": "c87b56dd", - "id": 1022, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1006, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1005, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1022, - "src": "1724:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1004, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1724:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1723:17:4" - }, - "returnParameters": { - "id": 1009, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1008, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1022, - "src": "1764:13:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1007, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1764:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1763:15:4" - }, - "scope": 1062, - "src": "1706:244:4", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1050, - "nodeType": "Block", - "src": "2077:247:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1029, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1024, - "src": "2118:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1028, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 429, - "src": "2110:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 1030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2110:16:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e", - "id": 1031, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2141:46:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_94be4a260caaeac1b145f03ffa2e70bc612b64982d04f24073aaf3a5f9009978", - "typeString": "literal_string \"ERC721Metadata: URI set of nonexistent token\"" - }, - "value": "ERC721Metadata: URI set of nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_94be4a260caaeac1b145f03ffa2e70bc612b64982d04f24073aaf3a5f9009978", - "typeString": "literal_string \"ERC721Metadata: URI set of nonexistent token\"" - } - ], - "id": 1027, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2088:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2088:110:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1033, - "nodeType": "ExpressionStatement", - "src": "2088:110:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1034, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 950, - "src": "2209:10:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1036, - "indexExpression": { - "argumentTypes": null, - "id": 1035, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1024, - "src": "2220:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2209:19:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1041, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 946, - "src": "2269:8:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1044, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1024, - "src": "2296:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1042, - "name": "Strings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7250, - "src": "2279:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Strings_$7250_$", - "typeString": "type(library Strings)" - } - }, - "id": 1043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "toString", - "nodeType": "MemberAccess", - "referencedDeclaration": 7249, - "src": "2279:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 1045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2279:25:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 1039, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "2252:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 1040, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2252:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 1046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2252:53:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1038, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2231:6:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 1037, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2231:6:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2231:85:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2209:107:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1049, - "nodeType": "ExpressionStatement", - "src": "2209:107:4" - } - ] - }, - "documentation": "@dev Sets `_tokenURI` for `tokenId`.", - "id": 1051, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1025, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1024, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1051, - "src": "2043:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2043:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2042:17:4" - }, - "returnParameters": { - "id": 1026, - "nodeType": "ParameterList", - "parameters": [], - "src": "2077:0:4" - }, - "scope": 1062, - "src": "2021:303:4", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 1060, - "nodeType": "Block", - "src": "2616:38:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1056, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 946, - "src": "2627:8:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1057, - "name": "baseURI_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1053, - "src": "2638:8:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2627:19:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1059, - "nodeType": "ExpressionStatement", - "src": "2627:19:4" - } - ] - }, - "documentation": "@dev Internal function to set the base URI for all token IDs. It is\nautomatically added as a prefix to the value returned in {tokenURI},\nor to the token ID if {tokenURI} is empty.", - "id": 1061, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1054, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1053, - "name": "baseURI_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1061, - "src": "2575:22:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1052, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2575:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2574:24:4" - }, - "returnParameters": { - "id": 1055, - "nodeType": "ParameterList", - "parameters": [], - "src": "2616:0:4" - }, - "scope": 1062, - "src": "2554:100:4", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 1063, - "src": "174:2483:4" - } - ], - "src": "35:2624:4" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.0", - "updatedAt": "2020-08-31T20:17:13.061Z", - "devdoc": { - "methods": { - "approve(address,uint256)": { - "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * Requirements: * - The caller must own the token or be an approved operator. - `tokenId` must exist. * Emits an {Approval} event." - }, - "baseURI()": { - "details": "Returns the base URI set via {_setBaseURI}." - }, - "getApproved(uint256)": { - "details": "Returns the account approved for `tokenId` token." - }, - "isApprovedForAll(address,address)": { - "details": "Tells whether an operator is approved by a given owner", - "params": { - "operator": "operator address which you want to query the approval of", - "owner": "owner address which you want to query the approval of" - }, - "returns": { - "_0": "bool whether the given operator is approved by the given owner" - } - }, - "isPaused()": { - "details": "Returns true if the contract is paused." - }, - "name()": { - "details": "Returns the token name." - }, - "owner()": { - "details": "Returns the address of the current owner." - }, - "pause()": { - "details": "Stops operational state." - }, - "resume()": { - "details": "Resumes operational state." - }, - "setApprovalForAll(address,bool)": { - "details": "Sets or unsets the approval of a given operator An operator is allowed to transfer all tokens of the sender on their behalf", - "params": { - "approved": "representing the status of the approval to be set", - "to": "operator address to set the approval" - } - }, - "supportsInterface(bytes4)": { - "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]. * Time complexity O(1), guaranteed to always use less than 30 000 gas." - }, - "symbol()": { - "details": "Returns the token symbol." - }, - "tokenByIndex(uint256)": { - "details": "Gets the token ID at a given index of all the tokens in this contract Reverts if the index is greater or equal to the total number of tokens", - "params": { - "index": "uint256 representing the index to be accessed of the tokens list" - }, - "returns": { - "_0": "uint256 token ID at the given index of the tokens list" - } - }, - "tokenOfOwnerByIndex(address,uint256)": { - "details": "Gets the token ID at a given index of the tokens list of the requested owner", - "params": { - "index": "uint256 representing the index to be accessed of the requested tokens list", - "owner": "address owning the tokens list to be accessed" - }, - "returns": { - "_0": "uint256 token ID at the given index of the tokens list owned by the requested address" - } - }, - "tokenURI(uint256)": { - "details": "Returns an URI for a given token ID Throws if the token ID does not exist. It may return an empty string.", - "params": { - "tokenId": "uint256 ID of the token to query" - } - }, - "totalSupply()": { - "details": "Gets the total amount of tokens stored by the contract", - "returns": { - "_0": "uint256 representing the total amount of tokens" - } - }, - "transferOwnership(address)": { - "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/app_/src/contracts/IERC20.json b/app_/src/contracts/IERC20.json deleted file mode 100644 index cb02a70..0000000 --- a/app_/src/contracts/IERC20.json +++ /dev/null @@ -1,1906 +0,0 @@ -{ - "contractName": "IERC20", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP. Does not include the optional functions; to access them see {ERC20Detailed}.\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. * This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. * Returns a boolean value indicating whether the operation succeeded. * IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `recipient`. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.5.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP. Does not include\n * the optional functions; to access them see {ERC20Detailed}.\n */\ninterface IERC20 {\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves `amount` tokens from the caller's account to `recipient`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address recipient, uint256 amount) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 amount) external returns (bool);\n\n /**\n * @dev Moves `amount` tokens from `sender` to `recipient` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);\n\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n}\n", - "sourcePath": "@openzeppelin\\contracts\\token\\ERC20\\IERC20.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "exportedSymbols": { - "IERC20": [ - 904 - ] - }, - "id": 905, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 837, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:7" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC20 standard as defined in the EIP. Does not include\nthe optional functions; to access them see {ERC20Detailed}.", - "fullyImplemented": false, - "id": 904, - "linearizedBaseContracts": [ - 904 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Returns the amount of tokens in existence.", - "id": 842, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 838, - "nodeType": "ParameterList", - "parameters": [], - "src": "290:2:7" - }, - "returnParameters": { - "id": 841, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 840, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 842, - "src": "316:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 839, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "316:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "315:9:7" - }, - "scope": 904, - "src": "270:55:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the amount of tokens owned by `account`.", - "id": 849, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 845, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 844, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 849, - "src": "427:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 843, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "427:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "426:17:7" - }, - "returnParameters": { - "id": 848, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 847, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 849, - "src": "467:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "467:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "466:9:7" - }, - "scope": 904, - "src": "408:68:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Moves `amount` tokens from the caller's account to `recipient`.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "id": 858, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 854, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 851, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 858, - "src": "714:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 850, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "714:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 853, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 858, - "src": "733:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "733:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "713:35:7" - }, - "returnParameters": { - "id": 857, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 856, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 858, - "src": "767:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 855, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "767:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "766:6:7" - }, - "scope": 904, - "src": "696:77:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the remaining number of tokens that `spender` will be\nallowed to spend on behalf of `owner` through {transferFrom}. This is\nzero by default.\n * This value changes when {approve} or {transferFrom} are called.", - "id": 867, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 860, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 867, - "src": "1067:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 859, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1067:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 862, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 867, - "src": "1082:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 861, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1082:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1066:32:7" - }, - "returnParameters": { - "id": 866, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 865, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 867, - "src": "1122:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 864, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1122:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1121:9:7" - }, - "scope": 904, - "src": "1048:83:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n * Returns a boolean value indicating whether the operation succeeded.\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\nthat someone may use both the old and the new allowance by unfortunate\ntransaction ordering. One possible solution to mitigate this race\ncondition is to first reduce the spender's allowance to 0 and set the\ndesired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * Emits an {Approval} event.", - "id": 876, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 872, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 869, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 876, - "src": "1801:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 868, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1801:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 871, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 876, - "src": "1818:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 870, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1818:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1800:33:7" - }, - "returnParameters": { - "id": 875, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 874, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 876, - "src": "1852:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 873, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1852:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1851:6:7" - }, - "scope": 904, - "src": "1784:74:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Moves `amount` tokens from `sender` to `recipient` using the\nallowance mechanism. `amount` is then deducted from the caller's\nallowance.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "id": 887, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 883, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 878, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 887, - "src": "2187:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 877, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2187:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 880, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 887, - "src": "2203:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 879, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2203:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 882, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 887, - "src": "2222:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 881, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2222:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2186:51:7" - }, - "returnParameters": { - "id": 886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 885, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 887, - "src": "2256:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 884, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2256:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2255:6:7" - }, - "scope": 904, - "src": "2165:97:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when `value` tokens are moved from one account (`from`) to\nanother (`to`).\n * Note that `value` may be zero.", - "id": 895, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 894, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 889, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 895, - "src": "2446:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 888, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2446:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 891, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 895, - "src": "2468:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 890, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2468:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 893, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 895, - "src": "2488:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 892, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2488:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2445:57:7" - }, - "src": "2431:72:7" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when the allowance of a `spender` for an `owner` is set by\na call to {approve}. `value` is the new allowance.", - "id": 903, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 902, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 897, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "2677:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 896, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2677:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 899, - "indexed": true, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "2700:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 898, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2700:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 901, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "2725:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 900, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2725:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2676:63:7" - }, - "src": "2662:78:7" - } - ], - "scope": 905, - "src": "176:2566:7" - } - ], - "src": "0:2743:7" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "exportedSymbols": { - "IERC20": [ - 904 - ] - }, - "id": 905, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 837, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:7" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC20 standard as defined in the EIP. Does not include\nthe optional functions; to access them see {ERC20Detailed}.", - "fullyImplemented": false, - "id": 904, - "linearizedBaseContracts": [ - 904 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Returns the amount of tokens in existence.", - "id": 842, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 838, - "nodeType": "ParameterList", - "parameters": [], - "src": "290:2:7" - }, - "returnParameters": { - "id": 841, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 840, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 842, - "src": "316:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 839, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "316:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "315:9:7" - }, - "scope": 904, - "src": "270:55:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the amount of tokens owned by `account`.", - "id": 849, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 845, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 844, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 849, - "src": "427:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 843, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "427:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "426:17:7" - }, - "returnParameters": { - "id": 848, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 847, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 849, - "src": "467:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "467:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "466:9:7" - }, - "scope": 904, - "src": "408:68:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Moves `amount` tokens from the caller's account to `recipient`.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "id": 858, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 854, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 851, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 858, - "src": "714:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 850, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "714:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 853, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 858, - "src": "733:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "733:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "713:35:7" - }, - "returnParameters": { - "id": 857, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 856, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 858, - "src": "767:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 855, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "767:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "766:6:7" - }, - "scope": 904, - "src": "696:77:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the remaining number of tokens that `spender` will be\nallowed to spend on behalf of `owner` through {transferFrom}. This is\nzero by default.\n * This value changes when {approve} or {transferFrom} are called.", - "id": 867, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 860, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 867, - "src": "1067:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 859, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1067:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 862, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 867, - "src": "1082:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 861, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1082:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1066:32:7" - }, - "returnParameters": { - "id": 866, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 865, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 867, - "src": "1122:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 864, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1122:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1121:9:7" - }, - "scope": 904, - "src": "1048:83:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n * Returns a boolean value indicating whether the operation succeeded.\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\nthat someone may use both the old and the new allowance by unfortunate\ntransaction ordering. One possible solution to mitigate this race\ncondition is to first reduce the spender's allowance to 0 and set the\ndesired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * Emits an {Approval} event.", - "id": 876, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 872, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 869, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 876, - "src": "1801:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 868, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1801:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 871, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 876, - "src": "1818:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 870, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1818:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1800:33:7" - }, - "returnParameters": { - "id": 875, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 874, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 876, - "src": "1852:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 873, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1852:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1851:6:7" - }, - "scope": 904, - "src": "1784:74:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Moves `amount` tokens from `sender` to `recipient` using the\nallowance mechanism. `amount` is then deducted from the caller's\nallowance.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "id": 887, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 883, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 878, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 887, - "src": "2187:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 877, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2187:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 880, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 887, - "src": "2203:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 879, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2203:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 882, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 887, - "src": "2222:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 881, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2222:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2186:51:7" - }, - "returnParameters": { - "id": 886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 885, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 887, - "src": "2256:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 884, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2256:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2255:6:7" - }, - "scope": 904, - "src": "2165:97:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when `value` tokens are moved from one account (`from`) to\nanother (`to`).\n * Note that `value` may be zero.", - "id": 895, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 894, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 889, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 895, - "src": "2446:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 888, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2446:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 891, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 895, - "src": "2468:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 890, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2468:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 893, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 895, - "src": "2488:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 892, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2488:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2445:57:7" - }, - "src": "2431:72:7" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when the allowance of a `spender` for an `owner` is set by\na call to {approve}. `value` is the new allowance.", - "id": 903, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 902, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 897, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "2677:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 896, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2677:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 899, - "indexed": true, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "2700:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 898, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2700:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 901, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 903, - "src": "2725:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 900, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2725:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2676:63:7" - }, - "src": "2662:78:7" - } - ], - "scope": 905, - "src": "176:2566:7" - } - ], - "src": "0:2743:7" - }, - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.0", - "updatedAt": "2020-08-29T17:41:05.868Z", - "devdoc": { - "details": "Interface of the ERC20 standard as defined in the EIP. Does not include the optional functions; to access them see {ERC20Detailed}.", - "methods": { - "allowance(address,address)": { - "details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. * This value changes when {approve} or {transferFrom} are called." - }, - "approve(address,uint256)": { - "details": "Sets `amount` as the allowance of `spender` over the caller's tokens. * Returns a boolean value indicating whether the operation succeeded. * IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the amount of tokens owned by `account`." - }, - "totalSupply()": { - "details": "Returns the amount of tokens in existence." - }, - "transfer(address,uint256)": { - "details": "Moves `amount` tokens from the caller's account to `recipient`. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event." - }, - "transferFrom(address,address,uint256)": { - "details": "Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/app_/src/contracts/IERC721Receiver.json b/app_/src/contracts/IERC721Receiver.json deleted file mode 100644 index f88d7f7..0000000 --- a/app_/src/contracts/IERC721Receiver.json +++ /dev/null @@ -1,485 +0,0 @@ -{ - "contractName": "IERC721Receiver", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "onERC721Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. * It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. * The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`.\"}},\"title\":\"ERC721 token receiver interface\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":\"IERC721Receiver\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x321ee37ef4925020aa818a03ec7fe48e057561f65ab009a84f6c20c86026ade7\",\"urls\":[\"bzz-raw://01f9d74a17a56024984251b97e428e24c9d3abffbae5bd290f0ec263c82e9694\",\"dweb:/ipfs/QmRryCuuXu2ukrDmatB8TqdEhPLiK6NBRt41RiPUaX1qKy\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.6.0;\n\n/**\n * @title ERC721 token receiver interface\n * @dev Interface for any contract that wants to support safeTransfers\n * from ERC721 asset contracts.\n */\ninterface IERC721Receiver {\n /**\n * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n * by `operator` from `from`, this function is called.\n *\n * It must return its Solidity selector to confirm the token transfer.\n * If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n *\n * The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`.\n */\n function onERC721Received(address operator, address from, uint256 tokenId, bytes calldata data)\n external returns (bytes4);\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "exportedSymbols": { - "IERC721Receiver": [ - 6919 - ] - }, - "id": 6920, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6905, - "literals": [ - "solidity", - "^", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:12" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@title ERC721 token receiver interface\n@dev Interface for any contract that wants to support safeTransfers\nfrom ERC721 asset contracts.", - "fullyImplemented": false, - "id": 6919, - "linearizedBaseContracts": [ - 6919 - ], - "name": "IERC721Receiver", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\nby `operator` from `from`, this function is called.\n * It must return its Solidity selector to confirm the token transfer.\nIf any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n * The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`.", - "functionSelector": "150b7a02", - "id": 6918, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onERC721Received", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6907, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6918, - "src": "759:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6906, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "759:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6909, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6918, - "src": "777:12:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6908, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "777:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6911, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6918, - "src": "791:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6910, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "791:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6913, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6918, - "src": "808:19:12", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6912, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "808:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "758:70:12" - }, - "returnParameters": { - "id": 6917, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6916, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6918, - "src": "851:6:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 6915, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "851:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "850:8:12" - }, - "scope": 6919, - "src": "733:126:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6920, - "src": "211:650:12" - } - ], - "src": "33:829:12" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "exportedSymbols": { - "IERC721Receiver": [ - 6919 - ] - }, - "id": 6920, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6905, - "literals": [ - "solidity", - "^", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:12" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@title ERC721 token receiver interface\n@dev Interface for any contract that wants to support safeTransfers\nfrom ERC721 asset contracts.", - "fullyImplemented": false, - "id": 6919, - "linearizedBaseContracts": [ - 6919 - ], - "name": "IERC721Receiver", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\nby `operator` from `from`, this function is called.\n * It must return its Solidity selector to confirm the token transfer.\nIf any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n * The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`.", - "functionSelector": "150b7a02", - "id": 6918, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onERC721Received", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6907, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6918, - "src": "759:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6906, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "759:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6909, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6918, - "src": "777:12:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6908, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "777:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6911, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6918, - "src": "791:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6910, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "791:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6913, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6918, - "src": "808:19:12", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6912, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "808:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "758:70:12" - }, - "returnParameters": { - "id": 6917, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6916, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6918, - "src": "851:6:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 6915, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "851:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "850:8:12" - }, - "scope": 6919, - "src": "733:126:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6920, - "src": "211:650:12" - } - ], - "src": "33:829:12" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.0", - "updatedAt": "2020-08-31T20:17:13.418Z", - "devdoc": { - "details": "Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.", - "methods": { - "onERC721Received(address,address,uint256,bytes)": { - "details": "Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. * It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. * The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`." - } - }, - "title": "ERC721 token receiver interface" - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/app_/src/contracts/KryptoRealState.json b/app_/src/contracts/KryptoRealState.json deleted file mode 100644 index 3997400..0000000 --- a/app_/src/contracts/KryptoRealState.json +++ /dev/null @@ -1,2191 +0,0 @@ -{ - "contractName": "KryptoRealState", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Resumed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [], - "name": "baseURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [], - "name": "isPaused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [], - "name": "pause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "resume", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenOfOwnerByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Resumed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resume\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * Requirements: * - The caller must own the token or be an approved operator. - `tokenId` must exist. * Emits an {Approval} event.\"},\"baseURI()\":{\"details\":\"Returns the base URI set via {_setBaseURI}.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Tells whether an operator is approved by a given owner\",\"params\":{\"operator\":\"operator address which you want to query the approval of\",\"owner\":\"owner address which you want to query the approval of\"},\"returns\":{\"_0\":\"bool whether the given operator is approved by the given owner\"}},\"isPaused()\":{\"details\":\"Returns true if the contract is paused.\"},\"name()\":{\"details\":\"Returns the token name.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"pause()\":{\"details\":\"Stops operational state.\"},\"resume()\":{\"details\":\"Resumes operational state.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Sets or unsets the approval of a given operator An operator is allowed to transfer all tokens of the sender on their behalf\",\"params\":{\"approved\":\"representing the status of the approval to be set\",\"to\":\"operator address to set the approval\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]. * Time complexity O(1), guaranteed to always use less than 30 000 gas.\"},\"symbol()\":{\"details\":\"Returns the token symbol.\"},\"tokenByIndex(uint256)\":{\"details\":\"Gets the token ID at a given index of all the tokens in this contract Reverts if the index is greater or equal to the total number of tokens\",\"params\":{\"index\":\"uint256 representing the index to be accessed of the tokens list\"},\"returns\":{\"_0\":\"uint256 token ID at the given index of the tokens list\"}},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"Gets the token ID at a given index of the tokens list of the requested owner\",\"params\":{\"index\":\"uint256 representing the index to be accessed of the requested tokens list\",\"owner\":\"address owning the tokens list to be accessed\"},\"returns\":{\"_0\":\"uint256 token ID at the given index of the tokens list owned by the requested address\"}},\"tokenURI(uint256)\":{\"details\":\"Returns an URI for a given token ID Throws if the token ID does not exist. It may return an empty string.\",\"params\":{\"tokenId\":\"uint256 ID of the token to query\"}},\"totalSupply()\":{\"details\":\"Gets the total amount of tokens stored by the contract\",\"returns\":{\"_0\":\"uint256 representing the total amount of tokens\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/KryptoRealState.sol\":\"KryptoRealState\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC165.sol\":{\"keccak256\":\"0xcb595039f64d3e7f1ae680b8105f8d4d2010b73bf62355ddd0c0de824d399742\",\"urls\":[\"bzz-raw://f2e08ce1bbb0ea2628db773b0d2402d399e211953f9574da17089ae465b048d8\",\"dweb:/ipfs/QmT1vHbq7tbwvFt9uRaCULyGmFgZ1h35ft9M4j1p86S6SU\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721.sol\":{\"keccak256\":\"0xcad0e0a24a93303fafd1d297a05ec681d88f531119d1aeb5f5e3acb20ef35488\",\"urls\":[\"bzz-raw://34bd2407e09c01b87a9df1eba31ffe59c2b31d49413cda70f7f62546c6edf725\",\"dweb:/ipfs/QmZfKPGE8M7FXVhuH9XdbiRiqJ6t4LSBuinJLCM16aLbX8\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721Enumerable.sol\":{\"keccak256\":\"0x5470ca0c9c63f39b80e811d115c97a6a2feb86fad2d7ea742cf2b4a63087a092\",\"urls\":[\"bzz-raw://3e38c35a33a2d89df83b622d792917899ea4f11e92595f7ef4977f91336f8262\",\"dweb:/ipfs/QmPqrJ8C32jZN7FoLtmJw41m6GzQwr3vFAhCxC5N7oaE2W\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721Metadata.sol\":{\"keccak256\":\"0x113368c3ababe045d1ea39987230e6542f4b0d9ea7b217e9171b1d70babb4a45\",\"urls\":[\"bzz-raw://ec4a1fd9ae09b8eca5ed039130e56326ff69cb6c5aa239cf960c8f5223c7a63e\",\"dweb:/ipfs/QmY4arb8wki1KGwMkq8NGx2LG1UQdS931V4SGDDJdvpbNv\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/KryptoRealState.sol\":{\"keccak256\":\"0xa6d994309df5c53b6b55ad3b0a05aa40f76f5ca64fb4ea59b053d753a729e24b\",\"urls\":[\"bzz-raw://c3fd5e61e4b52fdbb77f3fdb7de23187667133909feffe084fa6716e6c7f3adb\",\"dweb:/ipfs/QmRyfoS7Uq1r6jhsHjUucpErHx6hWusGBuZ6vf7upwAbK1\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/util/Ownable.sol\":{\"keccak256\":\"0x82ef8aa91736625e9a857d74f887113396f3efff3f92487487951c01640185bd\",\"urls\":[\"bzz-raw://000e161ca84afddaf09a3f2aa5e2ac4ba231d99337dd8f2f34fb6968ed57ce95\",\"dweb:/ipfs/Qmavkk6BGxoxtrVpYe737HyuxE4WsPaFdtW39JsRiS9G4m\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/util/Pausable.sol\":{\"keccak256\":\"0xe2cc8e8eee187921e15d10ac5d7d92c222a223b9048c6f7e9f5b93b6527f95c7\",\"urls\":[\"bzz-raw://9aeec234fe8bf28bed06a87a4cf873c5f1edd23b7719b84bc94b8b74da4ba160\",\"dweb:/ipfs/QmNuG23aVNMxMTybSiRKYvE4649qgdL1yFy3MJdBAeCd5N\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806\",\"urls\":[\"bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5\",\"dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x321ee37ef4925020aa818a03ec7fe48e057561f65ab009a84f6c20c86026ade7\",\"urls\":[\"bzz-raw://01f9d74a17a56024984251b97e428e24c9d3abffbae5bd290f0ec263c82e9694\",\"dweb:/ipfs/QmRryCuuXu2ukrDmatB8TqdEhPLiK6NBRt41RiPUaX1qKy\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xdfb4f812600ba4ce6738c35584ceb8c9433472583051b48ba5b1f66cb758a498\",\"urls\":[\"bzz-raw://df02dffe1c1de089d9b4f6192f0dcf464526f2230f420b3deec4645e0cdd2bff\",\"dweb:/ipfs/QmcqXGAU3KJqwrgUVoGJ2W8osomhSJ4R5kdsRpbuW3fELS\"]},\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0x2d68b8e6425249cd05cc0a66ea50cb5b8d10cbdac59c6de834e1002232813faf\",\"urls\":[\"bzz-raw://e3ce6b6ac17c67bba01e9c8c778f82f68fd4823bd083359cdd03040b70eeeba3\",\"dweb:/ipfs/QmX4t1jWwKaAkacvmQxEG5rBtLXg3EHw6pRjKhMZR8iw3n\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x79484115dbfa737054f73e041009a02eeb434dd81be5d684bf4255ad3b5ab558\",\"urls\":[\"bzz-raw://12c119699463450c2544f5b9d8709b5e9e9164c62948a79c3ec53423a051d969\",\"dweb:/ipfs/QmPJduzSAaekq447QeFqAp3E7dc8CnNk5ajofckJ4ahA7Q\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280600f81526020017f4b727970746f5265616c537461746500000000000000000000000000000000008152506040518060400160405280600381526020017f4b525300000000000000000000000000000000000000000000000000000000008152506040518060600160405280603f8152602001620031a4603f9139620000b06301ffc9a760e01b6200022560201b60201c565b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160146101000a81548160ff021916908315150217905550620001a16380ac58cd60e01b6200022560201b60201c565b620001b963780e9d6360e01b6200022560201b60201c565b82600a9080519060200190620001d19291906200032e565b5081600b9080519060200190620001ea9291906200032e565b5080600c9080519060200190620002039291906200032e565b506200021c635b5e139f60e01b6200022560201b60201c565b505050620003dd565b63ffffffff60e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415620002c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433136353a20696e76616c696420696e746572666163652049440000000081525060200191505060405180910390fd5b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200037157805160ff1916838001178555620003a2565b82800160010185558215620003a2579182015b82811115620003a157825182559160200191906001019062000384565b5b509050620003b19190620003b5565b5090565b620003da91905b80821115620003d6576000816000905550600101620003bc565b5090565b90565b612db780620003ed6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80636352211e116100c3578063a22cb4651161007c578063a22cb46514610724578063b187bd2614610774578063b88d4fde14610796578063c87b56dd1461089b578063e985e9c514610942578063f2fde38b146109be5761014d565b80636352211e146105045780636c0360eb1461057257806370a08231146105f55780638456cb591461064d5780638da5cb5b1461065757806395d89b41146106a15761014d565b806318160ddd1161011557806318160ddd1461030057806323b872dd1461031e5780632f745c591461038c57806340c10f19146103ee57806342842e0e146104545780634f6ccce7146104c25761014d565b806301ffc9a714610152578063046f7da2146101b757806306fdde03146101c1578063081812fc14610244578063095ea7b3146102b2575b600080fd5b61019d6004803603602081101561016857600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610a02565b604051808215151515815260200191505060405180910390f35b6101bf610a69565b005b6101c9610c11565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102095780820151818401526020810190506101ee565b50505050905090810190601f1680156102365780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102706004803603602081101561025a57600080fd5b8101908080359060200190929190505050610cb3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102fe600480360360408110156102c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d4e565b005b610308610f8d565b6040518082815260200191505060405180910390f35b61038a6004803603606081101561033457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f9a565b005b6103d8600480360360408110156103a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fbd565b6040518082815260200191505060405180910390f35b61043a6004803603604081101561040457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611030565b604051808215151515815260200191505060405180910390f35b6104c06004803603606081101561046a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611178565b005b6104ee600480360360208110156104d857600080fd5b8101908080359060200190929190505050611198565b6040518082815260200191505060405180910390f35b6105306004803603602081101561051a57600080fd5b81019080803590602001909291905050506111cc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61057a611209565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105ba57808201518184015260208101905061059f565b50505050905090810190601f1680156105e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106376004803603602081101561060b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ab565b6040518082815260200191505060405180910390f35b610655611380565b005b61065f611528565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106a9611552565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106e95780820151818401526020810190506106ce565b50505050905090810190601f1680156107165780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107726004803603604081101561073a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506115f4565b005b61077c61172e565b604051808215151515815260200191505060405180910390f35b610899600480360360808110156107ac57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561081357600080fd5b82018360208201111561082557600080fd5b8035906020019184600183028401116401000000008311171561084757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611745565b005b6108c7600480360360208110156108b157600080fd5b810190808035906020019092919050505061176b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109075780820151818401526020810190506108ec565b50505050905090810190601f1680156109345780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6109a46004803603604081101561095857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061187e565b604051808215151515815260200191505060405180910390f35b610a00600480360360208110156109d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611912565b005b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b600160149054906101000a900460ff16610ace576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612cdc6022913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600160146101000a81548160ff0219169083151502179055507f5d287a3a02ade76478d8449abebe9dc45b38421247132b68127dd3cd6c05f3cf33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6060600a8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ca95780601f10610c7e57610100808354040283529160200191610ca9565b820191906000526020600020905b815481529060010190602001808311610c8c57829003601f168201915b5050505050905090565b6000610cbe82611b1b565b610d13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180612c0b602c913960400191505060405180910390fd5b6003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610d5781611b1b565b610dac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180612d55602d913960400191505060405180910390fd5b6000610db7826111cc565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612cbb6021913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610e7e5750610e7d813361187e565b5b610ed3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526038815260200180612ba96038913960400191505060405180910390fd5b826003600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff16610f46846111cc565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000600880549050905090565b610fa43382611b8d565b610fad57600080fd5b610fb8838383611c22565b505050565b6000610fc8836112ab565b8210610fd357600080fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811061101d57fe5b9060005260206000200154905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600160149054906101000a900460ff161561115b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612d2f6026913960400191505060405180910390fd5b6111658383611c46565b61116e82611c67565b6001905092915050565b61119383838360405180602001604052806000815250611745565b505050565b60006111a2610f8d565b82106111ad57600080fd5b600882815481106111ba57fe5b90600052602060002001549050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6060600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112a15780601f10611276576101008083540402835291602001916112a1565b820191906000526020600020905b81548152906001019060200180831161128457829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611332576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612be1602a913960400191505060405180910390fd5b611379600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611dbe565b9050919050565b600160149054906101000a900460ff16156113e6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612d2f6026913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60018060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115ea5780601f106115bf576101008083540402835291602001916115ea565b820191906000526020600020905b8154815290600101906020018083116115cd57829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561162d57600080fd5b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6000600160149054906101000a900460ff16905090565b611750848484610f9a565b61175c84848484611dcc565b61176557600080fd5b50505050565b606061177682611b1b565b6117cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180612c8c602f913960400191505060405180910390fd5b600d60008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118725780601f1061184757610100808354040283529160200191611872565b820191906000526020600020905b81548152906001019060200180831161185557829003601f168201915b50505050509050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612b5f6026913960400191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b600080611b99836111cc565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611c0857508373ffffffffffffffffffffffffffffffffffffffff16611bf084610cb3565b73ffffffffffffffffffffffffffffffffffffffff16145b80611c195750611c18818561187e565b5b91505092915050565b611c2d838383611fb5565b611c37838261226f565b611c418282612418565b505050565b611c5082826124dc565b611c5a8282612418565b611c63816126f4565b5050565b611c7081611b1b565b611cc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180612c37602c913960400191505060405180910390fd5b600c611cd08261273d565b6040516020018083805460018160011615610100020316600290048015611d2e5780601f10611d0c576101008083540402835291820191611d2e565b820191906000526020600020905b815481529060010190602001808311611d1a575b505082805190602001908083835b60208310611d5f5780518252602082019150602081019050602083039250611d3c565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052600d60008381526020019081526020016000209080519060200190611dba929190612ab9565b5050565b600081600001549050919050565b6000611ded8473ffffffffffffffffffffffffffffffffffffffff1661286d565b611dfa5760019050611fad565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611ed5578082015181840152602081019050611eba565b50505050905090810190601f168015611f025780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015611f2457600080fd5b505af1158015611f38573d6000803e3d6000fd5b505050506040513d6020811015611f4e57600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b611fbf3382611b8d565b612014576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180612cfe6031913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff16612034826111cc565b73ffffffffffffffffffffffffffffffffffffffff16146120a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180612c636029913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612126576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b856024913960400191505060405180910390fd5b61212f816128b8565b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506121c8600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612976565b61220f600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612999565b808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60006122c76001600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506129af90919063ffffffff16565b90506000600760008481526020019081526020016000205490508181146123b4576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811061233457fe5b9060005260206000200154905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811061238c57fe5b9060005260206000200181905550816007600083815260200190815260200160002081905550505b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806123fc57fe5b6001900381819060005260206000200160009055905550505050565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506007600083815260200190815260200160002081905550600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561257f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4552433732313a206d696e7420746f20746865207a65726f206164647265737381525060200191505060405180910390fd5b61258881611b1b565b156125fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000081525060200191505060405180910390fd5b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612694600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612999565b808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60606000821415612785576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612868565b600082905060005b600082146127af578080600101915050600a82816127a757fe5b04915061278d565b6060816040519080825280601f01601f1916602001820160405280156127e45781602001600182028038833980820191505090505b50905060006001830390508593505b6000841461286057600a848161280557fe5b0660300160f81b8282806001900393508151811061281f57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a848161285857fe5b0493506127f3565b819450505050505b919050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91508082141580156128af57506000801b8214155b92505050919050565b600073ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129735760006003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b61298e600182600001546129af90919063ffffffff16565b816000018190555050565b6001816000016000828254019250508190555050565b60006129f183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506129f9565b905092915050565b6000838311158290612aa6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612a6b578082015181840152602081019050612a50565b50505050905090810190601f168015612a985780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612afa57805160ff1916838001178555612b28565b82800160010185558215612b28579182015b82811115612b27578251825591602001919060010190612b0c565b5b509050612b359190612b39565b5090565b612b5b91905b80821115612b57576000816000905550600101612b3f565b5090565b9056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65725061757361626c653a206578706563746564202770617573656427207374617475734552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665645061757361626c653a20657870656374656420276e6f742070617573656427207374617475734552433732313a20617070726f7665207265717565737420666f72206e6f6e6578697374656e7420746f6b656ea2646970667358221220483150cbb1cbe4a2e1d805432da9a145fa1f99282ba8a3ed22bf07734aebf3f764736f6c6343000602003368747470733a2f2f73332d75732d776573742d322e616d617a6f6e6177732e636f6d2f756461636974792d626c6f636b636861696e2f63617073746f6e652f", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061014d5760003560e01c80636352211e116100c3578063a22cb4651161007c578063a22cb46514610724578063b187bd2614610774578063b88d4fde14610796578063c87b56dd1461089b578063e985e9c514610942578063f2fde38b146109be5761014d565b80636352211e146105045780636c0360eb1461057257806370a08231146105f55780638456cb591461064d5780638da5cb5b1461065757806395d89b41146106a15761014d565b806318160ddd1161011557806318160ddd1461030057806323b872dd1461031e5780632f745c591461038c57806340c10f19146103ee57806342842e0e146104545780634f6ccce7146104c25761014d565b806301ffc9a714610152578063046f7da2146101b757806306fdde03146101c1578063081812fc14610244578063095ea7b3146102b2575b600080fd5b61019d6004803603602081101561016857600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610a02565b604051808215151515815260200191505060405180910390f35b6101bf610a69565b005b6101c9610c11565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102095780820151818401526020810190506101ee565b50505050905090810190601f1680156102365780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102706004803603602081101561025a57600080fd5b8101908080359060200190929190505050610cb3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102fe600480360360408110156102c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d4e565b005b610308610f8d565b6040518082815260200191505060405180910390f35b61038a6004803603606081101561033457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f9a565b005b6103d8600480360360408110156103a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fbd565b6040518082815260200191505060405180910390f35b61043a6004803603604081101561040457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611030565b604051808215151515815260200191505060405180910390f35b6104c06004803603606081101561046a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611178565b005b6104ee600480360360208110156104d857600080fd5b8101908080359060200190929190505050611198565b6040518082815260200191505060405180910390f35b6105306004803603602081101561051a57600080fd5b81019080803590602001909291905050506111cc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61057a611209565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105ba57808201518184015260208101905061059f565b50505050905090810190601f1680156105e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106376004803603602081101561060b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ab565b6040518082815260200191505060405180910390f35b610655611380565b005b61065f611528565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106a9611552565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106e95780820151818401526020810190506106ce565b50505050905090810190601f1680156107165780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107726004803603604081101561073a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506115f4565b005b61077c61172e565b604051808215151515815260200191505060405180910390f35b610899600480360360808110156107ac57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561081357600080fd5b82018360208201111561082557600080fd5b8035906020019184600183028401116401000000008311171561084757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611745565b005b6108c7600480360360208110156108b157600080fd5b810190808035906020019092919050505061176b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109075780820151818401526020810190506108ec565b50505050905090810190601f1680156109345780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6109a46004803603604081101561095857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061187e565b604051808215151515815260200191505060405180910390f35b610a00600480360360208110156109d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611912565b005b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b600160149054906101000a900460ff16610ace576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612cdc6022913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600160146101000a81548160ff0219169083151502179055507f5d287a3a02ade76478d8449abebe9dc45b38421247132b68127dd3cd6c05f3cf33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6060600a8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ca95780601f10610c7e57610100808354040283529160200191610ca9565b820191906000526020600020905b815481529060010190602001808311610c8c57829003601f168201915b5050505050905090565b6000610cbe82611b1b565b610d13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180612c0b602c913960400191505060405180910390fd5b6003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610d5781611b1b565b610dac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180612d55602d913960400191505060405180910390fd5b6000610db7826111cc565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612cbb6021913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610e7e5750610e7d813361187e565b5b610ed3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526038815260200180612ba96038913960400191505060405180910390fd5b826003600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff16610f46846111cc565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000600880549050905090565b610fa43382611b8d565b610fad57600080fd5b610fb8838383611c22565b505050565b6000610fc8836112ab565b8210610fd357600080fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811061101d57fe5b9060005260206000200154905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600160149054906101000a900460ff161561115b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612d2f6026913960400191505060405180910390fd5b6111658383611c46565b61116e82611c67565b6001905092915050565b61119383838360405180602001604052806000815250611745565b505050565b60006111a2610f8d565b82106111ad57600080fd5b600882815481106111ba57fe5b90600052602060002001549050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6060600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112a15780601f10611276576101008083540402835291602001916112a1565b820191906000526020600020905b81548152906001019060200180831161128457829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611332576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612be1602a913960400191505060405180910390fd5b611379600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611dbe565b9050919050565b600160149054906101000a900460ff16156113e6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612d2f6026913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60018060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115ea5780601f106115bf576101008083540402835291602001916115ea565b820191906000526020600020905b8154815290600101906020018083116115cd57829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561162d57600080fd5b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6000600160149054906101000a900460ff16905090565b611750848484610f9a565b61175c84848484611dcc565b61176557600080fd5b50505050565b606061177682611b1b565b6117cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180612c8c602f913960400191505060405180910390fd5b600d60008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118725780601f1061184757610100808354040283529160200191611872565b820191906000526020600020905b81548152906001019060200180831161185557829003601f168201915b50505050509050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612b5f6026913960400191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b600080611b99836111cc565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611c0857508373ffffffffffffffffffffffffffffffffffffffff16611bf084610cb3565b73ffffffffffffffffffffffffffffffffffffffff16145b80611c195750611c18818561187e565b5b91505092915050565b611c2d838383611fb5565b611c37838261226f565b611c418282612418565b505050565b611c5082826124dc565b611c5a8282612418565b611c63816126f4565b5050565b611c7081611b1b565b611cc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180612c37602c913960400191505060405180910390fd5b600c611cd08261273d565b6040516020018083805460018160011615610100020316600290048015611d2e5780601f10611d0c576101008083540402835291820191611d2e565b820191906000526020600020905b815481529060010190602001808311611d1a575b505082805190602001908083835b60208310611d5f5780518252602082019150602081019050602083039250611d3c565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052600d60008381526020019081526020016000209080519060200190611dba929190612ab9565b5050565b600081600001549050919050565b6000611ded8473ffffffffffffffffffffffffffffffffffffffff1661286d565b611dfa5760019050611fad565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611ed5578082015181840152602081019050611eba565b50505050905090810190601f168015611f025780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015611f2457600080fd5b505af1158015611f38573d6000803e3d6000fd5b505050506040513d6020811015611f4e57600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b611fbf3382611b8d565b612014576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180612cfe6031913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff16612034826111cc565b73ffffffffffffffffffffffffffffffffffffffff16146120a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180612c636029913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612126576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b856024913960400191505060405180910390fd5b61212f816128b8565b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506121c8600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612976565b61220f600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612999565b808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60006122c76001600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506129af90919063ffffffff16565b90506000600760008481526020019081526020016000205490508181146123b4576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811061233457fe5b9060005260206000200154905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811061238c57fe5b9060005260206000200181905550816007600083815260200190815260200160002081905550505b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806123fc57fe5b6001900381819060005260206000200160009055905550505050565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506007600083815260200190815260200160002081905550600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561257f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4552433732313a206d696e7420746f20746865207a65726f206164647265737381525060200191505060405180910390fd5b61258881611b1b565b156125fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000081525060200191505060405180910390fd5b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612694600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612999565b808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60606000821415612785576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612868565b600082905060005b600082146127af578080600101915050600a82816127a757fe5b04915061278d565b6060816040519080825280601f01601f1916602001820160405280156127e45781602001600182028038833980820191505090505b50905060006001830390508593505b6000841461286057600a848161280557fe5b0660300160f81b8282806001900393508151811061281f57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a848161285857fe5b0493506127f3565b819450505050505b919050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91508082141580156128af57506000801b8214155b92505050919050565b600073ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129735760006003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b61298e600182600001546129af90919063ffffffff16565b816000018190555050565b6001816000016000828254019250508190555050565b60006129f183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506129f9565b905092915050565b6000838311158290612aa6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612a6b578082015181840152602081019050612a50565b50505050905090810190601f168015612a985780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612afa57805160ff1916838001178555612b28565b82800160010185558215612b28579182015b82811115612b27578251825591602001919060010190612b0c565b5b509050612b359190612b39565b5090565b612b5b91905b80821115612b57576000816000905550600101612b3f565b5090565b9056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65725061757361626c653a206578706563746564202770617573656427207374617475734552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665645061757361626c653a20657870656374656420276e6f742070617573656427207374617475734552433732313a20617070726f7665207265717565737420666f72206e6f6e6578697374656e7420746f6b656ea2646970667358221220483150cbb1cbe4a2e1d805432da9a145fa1f99282ba8a3ed22bf07734aebf3f764736f6c63430006020033", - "sourceMap": "95:511:5:-:0;;;145:204;8:9:-1;5:2;;;30:1;27;20:12;5:2;145:204:5;754:267:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;825:40:1;531:10;844:20;;825:18;;;:40;;:::i;:::-;884:10:7;875:6;;:19;;;;;;;;;;;;;;;;;;943:6;;;;;;;;;;;910:40;;939:1;910:40;;;;;;;;;;;;1188:5:8;1178:7;;:15;;;;;;;;;;;;;;;;;;2256:40:2;2108:10;2275:20;;2256:18;;;:40;;:::i;:::-;1216:51:3;1072:10;1235:31;;1216:18;;;:51;;:::i;:::-;891:4:4;883:5;:12;;;;;;;;;;;;:::i;:::-;;916:6;906:7;:16;;;;;;;;;;;;:::i;:::-;;944:7;933:8;:18;;;;;;;;;;;;:::i;:::-;;964:49;735:10;983:29;;964:18;;;:49;;:::i;:::-;754:267;;;95:511:5;;1607:193:1;1698:10;1683:25;;:11;:25;;;;;1675:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1788:4;1752:20;:33;1773:11;1752:33;;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;1607:193;:::o;95:511:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "95:511:5:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;95:511:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1199:167:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1199:167:1;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1613:123:8;;;:::i;:::-;;1084:85:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1084:85:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3815:241:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3815:241:2;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3156:570;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3156:570:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2031:96:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5089:218:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5089:218:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1656:217:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1656:217:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;357:246:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;357:246:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5315:168:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5315:168:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2472:151:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2472:151:3;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2568:110:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2568:110:2;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1406:91:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1406:91:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2312:248:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2312:248:2;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1424:123:8;;;:::i;:::-;;1039:79:7;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1234:89:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1234:89:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4356:217:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4356:217:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1280:80:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5491:257:2;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;5491:257:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5491:257:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5491:257:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5491:257:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;5491:257:2;;;;;;;;;;;;;;;:::i;:::-;;1706:244:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1706:244:4;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1706:244:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4902:179:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4902:179:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1273:281:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1273:281:7;;;;;;;;;;;;;;;;;;;:::i;:::-;;1199:167:1;1296:4;1325:20;:33;1346:11;1325:33;;;;;;;;;;;;;;;;;;;;;;;;;;;1318:40;;1199:167;;;:::o;1613:123:8:-;764:7;;;;;;;;;;;756:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;480:10:7::1;470:20;;:6;;;;;;;;;;;:20;;;462:65;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;1688:5:8::2;1678:7;;:15;;;;;;;;;;;;;;;;;;1709:19;1717:10;1709:19;;;;;;;;;;;;;;;;;;;;;;1613:123::o:0;1084:85:4:-;1123:13;1156:5;1149:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1084:85;:::o;3815:241:2:-;3874:7;3916:16;3924:7;3916;:16::i;:::-;3894:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4024:15;:24;4040:7;4024:24;;;;;;;;;;;;;;;;;;;;;4017:31;;3815:241;;;:::o;3156:570::-;3242:16;3250:7;3242;:16::i;:::-;3220:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3344:13;3360:16;3368:7;3360;:16::i;:::-;3344:32;;3401:5;3395:11;;:2;:11;;;;3387:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3493:5;3479:19;;:10;:19;;;:58;;;;3502:35;3519:5;3526:10;3502:16;:35::i;:::-;3479:58;3457:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3661:2;3634:15;:24;3650:7;3634:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;3710:7;3706:2;3679:39;;3688:16;3696:7;3688;:16::i;:::-;3679:39;;;;;;;;;;;;3156:570;;;:::o;2031:96:3:-;2075:7;2102:10;:17;;;;2095:24;;2031:96;:::o;5089:218:2:-;5214:39;5233:10;5245:7;5214:18;:39::i;:::-;5206:48;;;;;;5267:32;5281:4;5287:2;5291:7;5267:13;:32::i;:::-;5089:218;;;:::o;1656:217:3:-;1763:7;1804:16;1814:5;1804:9;:16::i;:::-;1796:5;:24;1788:33;;;;;;1839:12;:19;1852:5;1839:19;;;;;;;;;;;;;;;1859:5;1839:26;;;;;;;;;;;;;;;;1832:33;;1656:217;;;;:::o;357:246:5:-;493:4;480:10:7;470:20;;:6;;;;;;;;;;;:20;;;462:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;554:7:8::1;;;;;;;;;;;553:8;545:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;515:24:5::2;527:2;531:7;515:11;:24::i;:::-;550:21;563:7;550:12;:21::i;:::-;591:4;584:11;;357:246:::0;;;;:::o;5315:168:2:-;5436:39;5453:4;5459:2;5463:7;5436:39;;;;;;;;;;;;:16;:39::i;:::-;5315:168;;;:::o;2472:151:3:-;2530:7;2566:13;:11;:13::i;:::-;2558:5;:21;2550:30;;;;;;2598:10;2609:5;2598:17;;;;;;;;;;;;;;;;2591:24;;2472:151;;;:::o;2568:110:2:-;2623:7;2650:11;:20;2662:7;2650:20;;;;;;;;;;;;;;;;;;;;;2643:27;;2568:110;;;:::o;1406:91:4:-;1448:13;1481:8;1474:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1406:91;:::o;2312:248:2:-;2367:7;2426:1;2409:19;;:5;:19;;;;2387:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2518:34;:17;:24;2536:5;2518:24;;;;;;;;;;;;;;;:32;:34::i;:::-;2511:41;;2312:248;;;:::o;1424:123:8:-;554:7;;;;;;;;;;;553:8;545:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;480:10:7::1;470:20;;:6;;;;;;;;;;;:20;;;462:65;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;1501:4:8::2;1491:7:::0;::::2;:14;;;;;;;;;;;;;;;;;;1521:18;1528:10;1521:18;;;;;;;;;;;;;;;;;;;;;;1424:123::o:0;1039:79:7:-;1077:7;1104:6;;;;;;;;;;;1097:13;;1039:79;:::o;1234:89:4:-;1275:13;1308:7;1301:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1234:89;:::o;4356:217:2:-;4442:10;4436:16;;:2;:16;;;;4428:25;;;;;;4501:8;4464:18;:30;4483:10;4464:30;;;;;;;;;;;;;;;:34;4495:2;4464:34;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;4552:2;4525:40;;4540:10;4525:40;;;4556:8;4525:40;;;;;;;;;;;;;;;;;;;;;;4356:217;;:::o;1280:80:8:-;1321:4;1345:7;;;;;;;;;;;1338:14;;1280:80;:::o;5491:257:2:-;5641:31;5654:4;5660:2;5664:7;5641:12;:31::i;:::-;5691:48;5714:4;5720:2;5724:7;5733:5;5691:22;:48::i;:::-;5683:57;;;;;;5491:257;;;;:::o;1706:244:4:-;1764:13;1812:16;1820:7;1812;:16::i;:::-;1790:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1923:10;:19;1934:7;1923:19;;;;;;;;;;;1916:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1706:244;;;:::o;4902:179:2:-;5009:4;5038:18;:25;5057:5;5038:25;;;;;;;;;;;;;;;:35;5064:8;5038:35;;;;;;;;;;;;;;;;;;;;;;;;;5031:42;;4902:179;;;;:::o;1273:281:7:-;480:10;470:20;;:6;;;;;;;;;;;:20;;;462:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1396:1:::1;1376:22;;:8;:22;;;;1354:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1484:8;1475:6;;:17;;;;;;;;;;;;;;;;;;1537:8;1508:38;;1529:6;;;;;;;;;;;1508:38;;;;;;;;;;;;1273:281:::0;:::o;5949:163:2:-;6014:4;6031:13;6047:11;:20;6059:7;6047:20;;;;;;;;;;;;;;;;;;;;;6031:36;;6102:1;6085:19;;:5;:19;;;;6078:26;;;5949:163;;;:::o;6481:307::-;6593:4;6615:13;6631:16;6639:7;6631;:16::i;:::-;6615:32;;6677:5;6666:16;;:7;:16;;;:64;;;;6723:7;6699:31;;:20;6711:7;6699:11;:20::i;:::-;:31;;;6666:64;:113;;;;6747:32;6764:5;6771:7;6747:16;:32::i;:::-;6666:113;6658:122;;;6481:307;;;;:::o;3007:286:3:-;3136:38;3156:4;3162:2;3166:7;3136:19;:38::i;:::-;3187:47;3220:4;3226:7;3187:32;:47::i;:::-;3245:40;3273:2;3277:7;3245:27;:40::i;:::-;3007:286;;;:::o;3556:209::-;3629:24;3641:2;3645:7;3629:11;:24::i;:::-;3666:40;3694:2;3698:7;3666:27;:40::i;:::-;3717;3749:7;3717:31;:40::i;:::-;3556:209;;:::o;2021:303:4:-;2110:16;2118:7;2110;:16::i;:::-;2088:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2269:8;2279:25;2296:7;2279:16;:25::i;:::-;2252:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2252:53:4;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2252:53:4;;;2209:10;:19;2220:7;2209:19;;;;;;;;;;;:107;;;;;;;;;;;;:::i;:::-;;2021:303;:::o;1098:112:14:-;1163:7;1189;:14;;;1182:21;;1098:112;;;:::o;8606:448:2:-;8762:4;8784:15;:2;:13;;;:15::i;:::-;8779:60;;8823:4;8816:11;;;;8779:60;8851:13;8883:2;8867:36;;;8918:10;8943:4;8962:7;8984:5;8867:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8867:133:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8867:133:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8867:133:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8867:133:2;;;;;;;;;;;;;;;;8851:149;;1229:10;9029:16;;9019:26;;;:6;:26;;;;9011:35;;;8606:448;;;;;;;:::o;7382:685::-;7532:39;7551:10;7563:7;7532:18;:39::i;:::-;7510:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7701:4;7681:24;;:16;7689:7;7681;:16::i;:::-;:24;;;7659:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7807:1;7793:16;;:2;:16;;;;7785:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7863:23;7878:7;7863:14;:23::i;:::-;7922:2;7899:11;:20;7911:7;7899:20;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;7935:35;:17;:23;7953:4;7935:23;;;;;;;;;;;;;;;:33;:35::i;:::-;7981:33;:17;:21;7999:2;7981:21;;;;;;;;;;;;;;;:31;:33::i;:::-;8051:7;8047:2;8032:27;;8041:4;8032:27;;;;;;;;;;;;7382:685;;;:::o;5242:1082:3:-;5522:22;5547:32;5577:1;5547:12;:18;5560:4;5547:18;;;;;;;;;;;;;;;:25;;;;:29;;:32;;;;:::i;:::-;5522:57;;5590:18;5611:17;:26;5629:7;5611:26;;;;;;;;;;;;5590:47;;5758:14;5744:10;:28;5740:328;;5789:19;5811:12;:18;5824:4;5811:18;;;;;;;;;;;;;;;5830:14;5811:34;;;;;;;;;;;;;;;;5789:56;;5895:11;5862:12;:18;5875:4;5862:18;;;;;;;;;;;;;;;5881:10;5862:30;;;;;;;;;;;;;;;:44;;;;6012:10;5979:17;:30;5997:11;5979:30;;;;;;;;;;;:43;;;;5740:328;;6080:12;:18;6093:4;6080:18;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;;;;;;;5242:1082;;;;:::o;4066:186::-;4180:12;:16;4193:2;4180:16;;;;;;;;;;;;;;;:23;;;;4151:17;:26;4169:7;4151:26;;;;;;;;;;;:52;;;;4214:12;:16;4227:2;4214:16;;;;;;;;;;;;;;;4236:7;4214:30;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;4214:30:3;;;;;;;;;;;;;;;;;;;4066:186;;:::o;6911:343:2:-;7005:1;6991:16;;:2;:16;;;;6983:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7064:16;7072:7;7064;:16::i;:::-;7063:17;7055:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7149:2;7126:11;:20;7138:7;7126:20;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;7162:33;:17;:21;7180:2;7162:21;;;;;;;;;;;;;;;:31;:33::i;:::-;7238:7;7234:2;7213:33;;7230:1;7213:33;;;;;;;;;;;;6911:343;;:::o;4453:164:3:-;4557:10;:17;;;;4530:15;:24;4546:7;4530:24;;;;;;;;;;;:44;;;;4585:10;4601:7;4585:24;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;4585:24:3;;;;;;;;;;;;;;;;;;;4453:164;:::o;202:723:15:-;258:13;484:1;475:5;:10;471:51;;;501:10;;;;;;;;;;;;;;;;;;;;;471:51;531:12;546:5;531:20;;561:14;585:75;600:1;592:4;:9;585:75;;617:8;;;;;;;647:2;639:10;;;;;;;;;585:75;;;669:19;701:6;691:17;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;116:4;104:10;96:6;87:34;147:4;139:6;135:17;125:27;;0:156;691:17:15;;;;669:39;;718:13;743:1;734:6;:10;718:26;;761:5;754:12;;776:112;791:1;783:4;:9;776:112;;849:2;842:4;:9;;;;;;837:2;:14;826:27;;808:6;815:7;;;;;;;808:15;;;;;;;;;;;:45;;;;;;;;;;;875:2;867:10;;;;;;;;;776:112;;;911:6;897:21;;;;;;202:723;;;;:::o;718:610:13:-;778:4;1036:16;1062:19;1084:66;1062:88;;;;1251:7;1239:20;1227:32;;1290:11;1278:8;:23;;:42;;;;;1317:3;1305:15;;:8;:15;;1278:42;1270:51;;;;718:610;;;:::o;9138:175:2:-;9238:1;9202:38;;:15;:24;9218:7;9202:24;;;;;;;;;;;;;;;;;;;;;:38;;;9198:108;;9292:1;9257:15;:24;9273:7;9257:24;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;9198:108;9138:175;:::o;1400:108:14:-;1480:21;1499:1;1480:7;:14;;;:18;;:21;;;;:::i;:::-;1463:7;:14;;:38;;;;1400:108;:::o;1216:178::-;1386:1;1368:7;:14;;;:19;;;;;;;;;;;1216:178;:::o;1321:134:11:-;1379:7;1405:43;1409:1;1412;1405:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1398:50;;1321:134;;;;:::o;1746:187::-;1832:7;1864:1;1859;:6;;1867:12;1851:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1851:29:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1890:9;1906:1;1902;:5;1890:17;;1925:1;1918:8;;;1746:187;;;;;:::o;95:511:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", - "source": "// SPDX-License-Identifier: MIT\r\n\r\npragma solidity 0.6.2;\r\n\r\nimport \"./ERC721Metadata.sol\";\r\n\r\ncontract KryptoRealState is ERC721Metadata {\r\n constructor()\r\n public\r\n ERC721Metadata(\r\n \"KryptoRealState\",\r\n \"KRS\",\r\n \"https://s3-us-west-2.amazonaws.com/udacity-blockchain/capstone/\"\r\n )\r\n {}\r\n\r\n function mint(address to, uint256 tokenId)\r\n public\r\n virtual\r\n onlyOwner\r\n whenNotPaused\r\n returns (bool)\r\n {\r\n super._mint(to, tokenId);\r\n _setTokenURI(tokenId);\r\n\r\n return true;\r\n }\r\n}\r\n", - "sourcePath": "C:\\Users\\Diego\\dev\\blockchain\\dapp-real-state\\contracts\\token\\KryptoRealState.sol", - "ast": { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/KryptoRealState.sol", - "exportedSymbols": { - "KryptoRealState": [ - 1104 - ] - }, - "id": 1105, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1064, - "literals": [ - "solidity", - "0.6", - ".2" - ], - "nodeType": "PragmaDirective", - "src": "35:22:5" - }, - { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721Metadata.sol", - "file": "./ERC721Metadata.sol", - "id": 1065, - "nodeType": "ImportDirective", - "scope": 1105, - "sourceUnit": 1063, - "src": "61:30:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1066, - "name": "ERC721Metadata", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1062, - "src": "123:14:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Metadata_$1062", - "typeString": "contract ERC721Metadata" - } - }, - "id": 1067, - "nodeType": "InheritanceSpecifier", - "src": "123:14:5" - } - ], - "contractDependencies": [ - 105, - 640, - 931, - 1062, - 1538, - 1623 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1104, - "linearizedBaseContracts": [ - 1104, - 1062, - 931, - 640, - 1623, - 1538, - 105 - ], - "name": "KryptoRealState", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1075, - "nodeType": "Block", - "src": "347:2:5", - "statements": [] - }, - "documentation": null, - "id": 1076, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4b727970746f5265616c5374617465", - "id": 1070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "213:17:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_13898f8b8000a8ad200f289a385660edef846e7fd62cb33c082df28845567806", - "typeString": "literal_string \"KryptoRealState\"" - }, - "value": "KryptoRealState" - }, - { - "argumentTypes": null, - "hexValue": "4b5253", - "id": 1071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "245:5:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25c0c95081f5f099041f22d9a10ed8bd17de4e2a237231114df5d077da9ac0c2", - "typeString": "literal_string \"KRS\"" - }, - "value": "KRS" - }, - { - "argumentTypes": null, - "hexValue": "68747470733a2f2f73332d75732d776573742d322e616d617a6f6e6177732e636f6d2f756461636974792d626c6f636b636861696e2f63617073746f6e652f", - "id": 1072, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "265:65:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cfa4573958f09c487edb2f9856efbbf1d5e6472e1155243fcdb5ea3c5dfd2e5a", - "typeString": "literal_string \"https://s3-us-west-2.amazonaws.com/udacity-blockchain/capstone/\"" - }, - "value": "https://s3-us-west-2.amazonaws.com/udacity-blockchain/capstone/" - } - ], - "id": 1073, - "modifierName": { - "argumentTypes": null, - "id": 1069, - "name": "ERC721Metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "184:14:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721Metadata_$1062_$", - "typeString": "type(contract ERC721Metadata)" - } - }, - "nodeType": "ModifierInvocation", - "src": "184:157:5" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1068, - "nodeType": "ParameterList", - "parameters": [], - "src": "156:2:5" - }, - "returnParameters": { - "id": 1074, - "nodeType": "ParameterList", - "parameters": [], - "src": "347:0:5" - }, - "scope": 1104, - "src": "145:204:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1102, - "nodeType": "Block", - "src": "504:99:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1092, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1078, - "src": "527:2:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1093, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1080, - "src": "531:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1089, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "515:5:5", - "typeDescriptions": { - "typeIdentifier": "t_super$_KryptoRealState_$1104", - "typeString": "contract super KryptoRealState" - } - }, - "id": 1091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 781, - "src": "515:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 1094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "515:24:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1095, - "nodeType": "ExpressionStatement", - "src": "515:24:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1097, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1080, - "src": "563:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1096, - "name": "_setTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1051, - "src": "550:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "550:21:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1099, - "nodeType": "ExpressionStatement", - "src": "550:21:5" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "591:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1088, - "id": 1101, - "nodeType": "Return", - "src": "584:11:5" - } - ] - }, - "documentation": null, - "functionSelector": "40c10f19", - "id": 1103, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1083, - "modifierName": { - "argumentTypes": null, - "id": 1082, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "442:9:5", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "442:9:5" - }, - { - "arguments": null, - "id": 1085, - "modifierName": { - "argumentTypes": null, - "id": 1084, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1555, - "src": "461:13:5", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "461:13:5" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1078, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1103, - "src": "371:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "371:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1080, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1103, - "src": "383:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "383:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "370:29:5" - }, - "returnParameters": { - "id": 1088, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1087, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1103, - "src": "493:4:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1086, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "493:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "492:6:5" - }, - "scope": 1104, - "src": "357:246:5", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 1105, - "src": "95:511:5" - } - ], - "src": "35:573:5" - }, - "legacyAST": { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/KryptoRealState.sol", - "exportedSymbols": { - "KryptoRealState": [ - 1104 - ] - }, - "id": 1105, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1064, - "literals": [ - "solidity", - "0.6", - ".2" - ], - "nodeType": "PragmaDirective", - "src": "35:22:5" - }, - { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721Metadata.sol", - "file": "./ERC721Metadata.sol", - "id": 1065, - "nodeType": "ImportDirective", - "scope": 1105, - "sourceUnit": 1063, - "src": "61:30:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1066, - "name": "ERC721Metadata", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1062, - "src": "123:14:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Metadata_$1062", - "typeString": "contract ERC721Metadata" - } - }, - "id": 1067, - "nodeType": "InheritanceSpecifier", - "src": "123:14:5" - } - ], - "contractDependencies": [ - 105, - 640, - 931, - 1062, - 1538, - 1623 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1104, - "linearizedBaseContracts": [ - 1104, - 1062, - 931, - 640, - 1623, - 1538, - 105 - ], - "name": "KryptoRealState", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1075, - "nodeType": "Block", - "src": "347:2:5", - "statements": [] - }, - "documentation": null, - "id": 1076, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4b727970746f5265616c5374617465", - "id": 1070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "213:17:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_13898f8b8000a8ad200f289a385660edef846e7fd62cb33c082df28845567806", - "typeString": "literal_string \"KryptoRealState\"" - }, - "value": "KryptoRealState" - }, - { - "argumentTypes": null, - "hexValue": "4b5253", - "id": 1071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "245:5:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25c0c95081f5f099041f22d9a10ed8bd17de4e2a237231114df5d077da9ac0c2", - "typeString": "literal_string \"KRS\"" - }, - "value": "KRS" - }, - { - "argumentTypes": null, - "hexValue": "68747470733a2f2f73332d75732d776573742d322e616d617a6f6e6177732e636f6d2f756461636974792d626c6f636b636861696e2f63617073746f6e652f", - "id": 1072, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "265:65:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cfa4573958f09c487edb2f9856efbbf1d5e6472e1155243fcdb5ea3c5dfd2e5a", - "typeString": "literal_string \"https://s3-us-west-2.amazonaws.com/udacity-blockchain/capstone/\"" - }, - "value": "https://s3-us-west-2.amazonaws.com/udacity-blockchain/capstone/" - } - ], - "id": 1073, - "modifierName": { - "argumentTypes": null, - "id": 1069, - "name": "ERC721Metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "184:14:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721Metadata_$1062_$", - "typeString": "type(contract ERC721Metadata)" - } - }, - "nodeType": "ModifierInvocation", - "src": "184:157:5" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1068, - "nodeType": "ParameterList", - "parameters": [], - "src": "156:2:5" - }, - "returnParameters": { - "id": 1074, - "nodeType": "ParameterList", - "parameters": [], - "src": "347:0:5" - }, - "scope": 1104, - "src": "145:204:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1102, - "nodeType": "Block", - "src": "504:99:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1092, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1078, - "src": "527:2:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1093, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1080, - "src": "531:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1089, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "515:5:5", - "typeDescriptions": { - "typeIdentifier": "t_super$_KryptoRealState_$1104", - "typeString": "contract super KryptoRealState" - } - }, - "id": 1091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 781, - "src": "515:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 1094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "515:24:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1095, - "nodeType": "ExpressionStatement", - "src": "515:24:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1097, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1080, - "src": "563:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1096, - "name": "_setTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1051, - "src": "550:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "550:21:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1099, - "nodeType": "ExpressionStatement", - "src": "550:21:5" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "591:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1088, - "id": 1101, - "nodeType": "Return", - "src": "584:11:5" - } - ] - }, - "documentation": null, - "functionSelector": "40c10f19", - "id": 1103, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1083, - "modifierName": { - "argumentTypes": null, - "id": 1082, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "442:9:5", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "442:9:5" - }, - { - "arguments": null, - "id": 1085, - "modifierName": { - "argumentTypes": null, - "id": 1084, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1555, - "src": "461:13:5", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "461:13:5" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1078, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1103, - "src": "371:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "371:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1080, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1103, - "src": "383:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "383:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "370:29:5" - }, - "returnParameters": { - "id": 1088, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1087, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1103, - "src": "493:4:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1086, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "493:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "492:6:5" - }, - "scope": 1104, - "src": "357:246:5", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 1105, - "src": "95:511:5" - } - ], - "src": "35:573:5" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": { - "4": { - "events": { - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - "0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - "0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - "0x5d287a3a02ade76478d8449abebe9dc45b38421247132b68127dd3cd6c05f3cf": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Resumed", - "type": "event" - }, - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - } - }, - "links": {}, - "address": "0x4196335d4603Bc23E860763CEE30f8af91944d47", - "transactionHash": "0xc3f686629041a398ea4aa99c96b340dc8bfa970d94a8461b35a8f45de6b8cfdd" - }, - "1598722518206": { - "events": { - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - "0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - "0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - "0x5d287a3a02ade76478d8449abebe9dc45b38421247132b68127dd3cd6c05f3cf": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Resumed", - "type": "event" - }, - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - } - }, - "links": {}, - "address": "0x75c35C980C0d37ef46DF04d31A140b65503c0eEd", - "transactionHash": "0x421f4a9d207878f05dfa446cf2c92209fc627759dcb574dfaab860bb683f2faf" - }, - "1598796622698": { - "events": { - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - "0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - "0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - "0x5d287a3a02ade76478d8449abebe9dc45b38421247132b68127dd3cd6c05f3cf": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Resumed", - "type": "event" - }, - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - } - }, - "links": {}, - "address": "0x3efc4Ed3D2BB2D1eE577fA546d8453a6d67d7467", - "transactionHash": "0x78e6db20decd1656740dd77ac660b21d5882c001117799c50234a0348bf68499" - }, - "1598824744314": { - "events": { - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - "0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - "0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - "0x5d287a3a02ade76478d8449abebe9dc45b38421247132b68127dd3cd6c05f3cf": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Resumed", - "type": "event" - }, - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - } - }, - "links": {}, - "address": "0xC131D3eeD9D6D410A7bfc200d81b9795f1bb5ed6", - "transactionHash": "0x624434663511a7ea0e209a0402372ccffc87a0a385500d79925170b319510d5d" - } - }, - "schemaVersion": "3.2.0", - "updatedAt": "2020-08-31T20:20:34.756Z", - "networkType": "ethereum", - "devdoc": { - "methods": { - "approve(address,uint256)": { - "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * Requirements: * - The caller must own the token or be an approved operator. - `tokenId` must exist. * Emits an {Approval} event." - }, - "baseURI()": { - "details": "Returns the base URI set via {_setBaseURI}." - }, - "getApproved(uint256)": { - "details": "Returns the account approved for `tokenId` token." - }, - "isApprovedForAll(address,address)": { - "details": "Tells whether an operator is approved by a given owner", - "params": { - "operator": "operator address which you want to query the approval of", - "owner": "owner address which you want to query the approval of" - }, - "returns": { - "_0": "bool whether the given operator is approved by the given owner" - } - }, - "isPaused()": { - "details": "Returns true if the contract is paused." - }, - "name()": { - "details": "Returns the token name." - }, - "owner()": { - "details": "Returns the address of the current owner." - }, - "pause()": { - "details": "Stops operational state." - }, - "resume()": { - "details": "Resumes operational state." - }, - "setApprovalForAll(address,bool)": { - "details": "Sets or unsets the approval of a given operator An operator is allowed to transfer all tokens of the sender on their behalf", - "params": { - "approved": "representing the status of the approval to be set", - "to": "operator address to set the approval" - } - }, - "supportsInterface(bytes4)": { - "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]. * Time complexity O(1), guaranteed to always use less than 30 000 gas." - }, - "symbol()": { - "details": "Returns the token symbol." - }, - "tokenByIndex(uint256)": { - "details": "Gets the token ID at a given index of all the tokens in this contract Reverts if the index is greater or equal to the total number of tokens", - "params": { - "index": "uint256 representing the index to be accessed of the tokens list" - }, - "returns": { - "_0": "uint256 token ID at the given index of the tokens list" - } - }, - "tokenOfOwnerByIndex(address,uint256)": { - "details": "Gets the token ID at a given index of the tokens list of the requested owner", - "params": { - "index": "uint256 representing the index to be accessed of the requested tokens list", - "owner": "address owning the tokens list to be accessed" - }, - "returns": { - "_0": "uint256 token ID at the given index of the tokens list owned by the requested address" - } - }, - "tokenURI(uint256)": { - "details": "Returns an URI for a given token ID Throws if the token ID does not exist. It may return an empty string.", - "params": { - "tokenId": "uint256 ID of the token to query" - } - }, - "totalSupply()": { - "details": "Gets the total amount of tokens stored by the contract", - "returns": { - "_0": "uint256 representing the total amount of tokens" - } - }, - "transferOwnership(address)": { - "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/app_/src/contracts/KryptoRealStateZKP.json b/app_/src/contracts/KryptoRealStateZKP.json deleted file mode 100644 index 5e604a0..0000000 --- a/app_/src/contracts/KryptoRealStateZKP.json +++ /dev/null @@ -1,9236 +0,0 @@ -{ - "contractName": "KryptoRealStateZKP", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "verifier", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Resumed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "prover", - "type": "address" - } - ], - "name": "SolutionAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "TokenMinted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "baseURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "isPaused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "resume", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenOfOwnerByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[2]", - "name": "a", - "type": "uint256[2]" - }, - { - "internalType": "uint256[2][2]", - "name": "b", - "type": "uint256[2][2]" - }, - { - "internalType": "uint256[2]", - "name": "c", - "type": "uint256[2]" - }, - { - "internalType": "uint256[2]", - "name": "input", - "type": "uint256[2]" - } - ], - "name": "submitSolution", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "mintToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Resumed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"}],\"name\":\"SolutionAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"TokenMinted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"mintToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resume\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[2]\",\"name\":\"a\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2][2]\",\"name\":\"b\",\"type\":\"uint256[2][2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"c\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"input\",\"type\":\"uint256[2]\"}],\"name\":\"submitSolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * Requirements: * - The caller must own the token or be an approved operator. - `tokenId` must exist. * Emits an {Approval} event.\"},\"baseURI()\":{\"details\":\"Returns the base URI set via {_setBaseURI}.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Tells whether an operator is approved by a given owner\",\"params\":{\"operator\":\"operator address which you want to query the approval of\",\"owner\":\"owner address which you want to query the approval of\"},\"returns\":{\"_0\":\"bool whether the given operator is approved by the given owner\"}},\"isPaused()\":{\"details\":\"Returns true if the contract is paused.\"},\"mintToken(bytes32)\":{\"details\":\"Mints token.\"},\"name()\":{\"details\":\"Returns the token name.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"pause()\":{\"details\":\"Stops operational state.\"},\"resume()\":{\"details\":\"Resumes operational state.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Sets or unsets the approval of a given operator An operator is allowed to transfer all tokens of the sender on their behalf\",\"params\":{\"approved\":\"representing the status of the approval to be set\",\"to\":\"operator address to set the approval\"}},\"submitSolution(uint256[2],uint256[2][2],uint256[2],uint256[2])\":{\"details\":\"Submit a candidate solution for verification.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]. * Time complexity O(1), guaranteed to always use less than 30 000 gas.\"},\"symbol()\":{\"details\":\"Returns the token symbol.\"},\"tokenByIndex(uint256)\":{\"details\":\"Gets the token ID at a given index of all the tokens in this contract Reverts if the index is greater or equal to the total number of tokens\",\"params\":{\"index\":\"uint256 representing the index to be accessed of the tokens list\"},\"returns\":{\"_0\":\"uint256 token ID at the given index of the tokens list\"}},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"Gets the token ID at a given index of the tokens list of the requested owner\",\"params\":{\"index\":\"uint256 representing the index to be accessed of the requested tokens list\",\"owner\":\"address owning the tokens list to be accessed\"},\"returns\":{\"_0\":\"uint256 token ID at the given index of the tokens list owned by the requested address\"}},\"tokenURI(uint256)\":{\"details\":\"Returns an URI for a given token ID Throws if the token ID does not exist. It may return an empty string.\",\"params\":{\"tokenId\":\"uint256 ID of the token to query\"}},\"totalSupply()\":{\"details\":\"Gets the total amount of tokens stored by the contract\",\"returns\":{\"_0\":\"uint256 representing the total amount of tokens\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/KyptoRealStateZKP.sol\":\"KryptoRealStateZKP\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC165.sol\":{\"keccak256\":\"0xcb595039f64d3e7f1ae680b8105f8d4d2010b73bf62355ddd0c0de824d399742\",\"urls\":[\"bzz-raw://f2e08ce1bbb0ea2628db773b0d2402d399e211953f9574da17089ae465b048d8\",\"dweb:/ipfs/QmT1vHbq7tbwvFt9uRaCULyGmFgZ1h35ft9M4j1p86S6SU\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721.sol\":{\"keccak256\":\"0xcad0e0a24a93303fafd1d297a05ec681d88f531119d1aeb5f5e3acb20ef35488\",\"urls\":[\"bzz-raw://34bd2407e09c01b87a9df1eba31ffe59c2b31d49413cda70f7f62546c6edf725\",\"dweb:/ipfs/QmZfKPGE8M7FXVhuH9XdbiRiqJ6t4LSBuinJLCM16aLbX8\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721Enumerable.sol\":{\"keccak256\":\"0x5470ca0c9c63f39b80e811d115c97a6a2feb86fad2d7ea742cf2b4a63087a092\",\"urls\":[\"bzz-raw://3e38c35a33a2d89df83b622d792917899ea4f11e92595f7ef4977f91336f8262\",\"dweb:/ipfs/QmPqrJ8C32jZN7FoLtmJw41m6GzQwr3vFAhCxC5N7oaE2W\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/ERC721Metadata.sol\":{\"keccak256\":\"0x113368c3ababe045d1ea39987230e6542f4b0d9ea7b217e9171b1d70babb4a45\",\"urls\":[\"bzz-raw://ec4a1fd9ae09b8eca5ed039130e56326ff69cb6c5aa239cf960c8f5223c7a63e\",\"dweb:/ipfs/QmY4arb8wki1KGwMkq8NGx2LG1UQdS931V4SGDDJdvpbNv\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/KryptoRealState.sol\":{\"keccak256\":\"0x5cc14328bbe1282d2dbbb45343ba0111b069008aaee7466ee576e184519cc504\",\"urls\":[\"bzz-raw://d4d7128660e4bef58a7a9e23b7ddd7e9082f2a4a245fccd0f366eb022c2748dc\",\"dweb:/ipfs/QmVJNRgkTeCGj7QCvtR1MadGdbTn5dDrd3wdWn3npTxYuJ\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/KyptoRealStateZKP.sol\":{\"keccak256\":\"0x5e40b48b209818237e3dfc9da7408ca39a68ad33eeec8c238ae3f432d2367b43\",\"urls\":[\"bzz-raw://1c3e7cf01f863376980ca45dd75656aca400ddbfaa4fda91bd8ad291113af2a1\",\"dweb:/ipfs/QmNvjF9XE7RdV5Dq6pWqvxY9qdnSbknh7tMfm2kxhZDpS1\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/util/Ownable.sol\":{\"keccak256\":\"0x82ef8aa91736625e9a857d74f887113396f3efff3f92487487951c01640185bd\",\"urls\":[\"bzz-raw://000e161ca84afddaf09a3f2aa5e2ac4ba231d99337dd8f2f34fb6968ed57ce95\",\"dweb:/ipfs/Qmavkk6BGxoxtrVpYe737HyuxE4WsPaFdtW39JsRiS9G4m\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/util/Pausable.sol\":{\"keccak256\":\"0xe2cc8e8eee187921e15d10ac5d7d92c222a223b9048c6f7e9f5b93b6527f95c7\",\"urls\":[\"bzz-raw://9aeec234fe8bf28bed06a87a4cf873c5f1edd23b7719b84bc94b8b74da4ba160\",\"dweb:/ipfs/QmNuG23aVNMxMTybSiRKYvE4649qgdL1yFy3MJdBAeCd5N\"]},\"/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/zokrates/code/square/verifier.sol\":{\"keccak256\":\"0xea2809bb967696406e674d57eccb6551466cc0fb033e0aba4c25a1c89c58ec4f\",\"urls\":[\"bzz-raw://a531b1eb59bb349f8d177dfc5b5088ede821f66e12614cbad1b7412bd7b105b7\",\"dweb:/ipfs/QmWaBsxggzdp74xUS1gnVuJoUBDyRktfuioGYq7KpN6DzL\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806\",\"urls\":[\"bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5\",\"dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x321ee37ef4925020aa818a03ec7fe48e057561f65ab009a84f6c20c86026ade7\",\"urls\":[\"bzz-raw://01f9d74a17a56024984251b97e428e24c9d3abffbae5bd290f0ec263c82e9694\",\"dweb:/ipfs/QmRryCuuXu2ukrDmatB8TqdEhPLiK6NBRt41RiPUaX1qKy\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xdfb4f812600ba4ce6738c35584ceb8c9433472583051b48ba5b1f66cb758a498\",\"urls\":[\"bzz-raw://df02dffe1c1de089d9b4f6192f0dcf464526f2230f420b3deec4645e0cdd2bff\",\"dweb:/ipfs/QmcqXGAU3KJqwrgUVoGJ2W8osomhSJ4R5kdsRpbuW3fELS\"]},\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0x2d68b8e6425249cd05cc0a66ea50cb5b8d10cbdac59c6de834e1002232813faf\",\"urls\":[\"bzz-raw://e3ce6b6ac17c67bba01e9c8c778f82f68fd4823bd083359cdd03040b70eeeba3\",\"dweb:/ipfs/QmX4t1jWwKaAkacvmQxEG5rBtLXg3EHw6pRjKhMZR8iw3n\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x79484115dbfa737054f73e041009a02eeb434dd81be5d684bf4255ad3b5ab558\",\"urls\":[\"bzz-raw://12c119699463450c2544f5b9d8709b5e9e9164c62948a79c3ec53423a051d969\",\"dweb:/ipfs/QmPJduzSAaekq447QeFqAp3E7dc8CnNk5ajofckJ4ahA7Q\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b5060405162003cd538038062003cd5833981810160405260208110156200003757600080fd5b81019080805190602001909291905050506040518060400160405280600f81526020017f4b727970746f5265616c537461746500000000000000000000000000000000008152506040518060400160405280600381526020017f4b525300000000000000000000000000000000000000000000000000000000008152506040518060600160405280603f815260200162003c96603f9139620000e66301ffc9a760e01b6200029d60201b60201c565b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160146101000a81548160ff021916908315150217905550620001d76380ac58cd60e01b6200029d60201b60201c565b620001ef63780e9d6360e01b6200029d60201b60201c565b82600a908051906020019062000207929190620003a6565b5081600b908051906020019062000220929190620003a6565b5080600c908051906020019062000239929190620003a6565b5062000252635b5e139f60e01b6200029d60201b60201c565b50505080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000455565b63ffffffff60e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156200033a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433136353a20696e76616c696420696e746572666163652049440000000081525060200191505060405180910390fd5b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003e957805160ff19168380011785556200041a565b828001600101855582156200041a579182015b8281111562000419578251825591602001919060010190620003fc565b5b5090506200042991906200042d565b5090565b6200045291905b808211156200044e57600081600090555060010162000434565b5090565b90565b61383180620004656000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80636352211e116100de578063a22cb46511610097578063b88d4fde11610071578063b88d4fde14610837578063c87b56dd1461093c578063e985e9c5146109e3578063f2fde38b14610a5f57610173565b8063a22cb46514610797578063a521ad7c146107e7578063b187bd261461081557610173565b80636352211e146105775780636c0360eb146105e557806370a08231146106685780638456cb59146106c05780638da5cb5b146106ca57806395d89b411461071457610173565b806323b872dd1161013057806323b872dd146103445780632c181d25146103b25780632f745c59146103ff57806340c10f191461046157806342842e0e146104c75780634f6ccce71461053557610173565b806301ffc9a714610178578063046f7da2146101dd57806306fdde03146101e7578063081812fc1461026a578063095ea7b3146102d857806318160ddd14610326575b600080fd5b6101c36004803603602081101561018e57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610aa3565b604051808215151515815260200191505060405180910390f35b6101e5610b0a565b005b6101ef610cb2565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561022f578082015181840152602081019050610214565b50505050905090810190601f16801561025c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102966004803603602081101561028057600080fd5b8101908080359060200190929190505050610d54565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610324600480360360408110156102ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610def565b005b61032e61102e565b6040518082815260200191505060405180910390f35b6103b06004803603606081101561035a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061103b565b005b6103fd60048036036101408110156103c957600080fd5b810190808060400190919291929080608001909192919290806040019091929192908060400190919291929050505061105e565b005b61044b6004803603604081101561041557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114d6565b6040518082815260200191505060405180910390f35b6104ad6004803603604081101561047757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611549565b604051808215151515815260200191505060405180910390f35b610533600480360360608110156104dd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611691565b005b6105616004803603602081101561054b57600080fd5b81019080803590602001909291905050506116b1565b6040518082815260200191505060405180910390f35b6105a36004803603602081101561058d57600080fd5b81019080803590602001909291905050506116e5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105ed611722565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561062d578082015181840152602081019050610612565b50505050905090810190601f16801561065a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106aa6004803603602081101561067e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117c4565b6040518082815260200191505060405180910390f35b6106c8611899565b005b6106d2611a41565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61071c611a6b565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561075c578082015181840152602081019050610741565b50505050905090810190601f1680156107895780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107e5600480360360408110156107ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611b0d565b005b610813600480360360208110156107fd57600080fd5b8101908080359060200190929190505050611c47565b005b61081d611dcc565b604051808215151515815260200191505060405180910390f35b61093a6004803603608081101561084d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156108b457600080fd5b8201836020820111156108c657600080fd5b803590602001918460018302840111640100000000831117156108e857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611de3565b005b6109686004803603602081101561095257600080fd5b8101908080359060200190929190505050611e09565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109a857808201518184015260208101905061098d565b50505050905090810190601f1680156109d55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610a45600480360360408110156109f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f1c565b604051808215151515815260200191505060405180910390f35b610aa160048036036020811015610a7557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fb0565b005b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b600160149054906101000a900460ff16610b6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806137176022913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600160146101000a81548160ff0219169083151502179055507f5d287a3a02ade76478d8449abebe9dc45b38421247132b68127dd3cd6c05f3cf33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6060600a8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d4a5780601f10610d1f57610100808354040283529160200191610d4a565b820191906000526020600020905b815481529060010190602001808311610d2d57829003601f168201915b5050505050905090565b6000610d5f826121b9565b610db4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806135e9602c913960400191505060405180910390fd5b6003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610df8816121b9565b610e4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180613790602d913960400191505060405180910390fd5b6000610e58826116e5565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610edf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806136cb6021913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f1f5750610f1e8133611f1c565b5b610f74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806135876038913960400191505060405180910390fd5b826003600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff16610fe7846116e5565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000600880549050905090565b611045338261222b565b61104e57600080fd5b6110598383836122c0565b505050565b60008460006002811061106d57fe5b60200201358560016002811061107f57fe5b60200201358560006002811061109157fe5b604002016000600281106110a157fe5b6020020135866000600281106110b357fe5b604002016001600281106110c357fe5b6020020135876001600281106110d557fe5b604002016000600281106110e557fe5b6020020135886001600281106110f757fe5b6040020160016002811061110757fe5b60200201358860006002811061111957fe5b60200201358960016002811061112b57fe5b60200201358960006002811061113d57fe5b60200201358a60016002811061114f57fe5b6020020135604051602001808b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019a50505050505050505050506040516020818303038152906040528051906020012090506111c4816122e4565b1561121a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806136ec602b913960400191505060405180910390fd5b61133a856002806020026040519081016040528092919082600260200280828437600081840152601f19601f82011690508083019250505050505085600280602002604051908101604052809291906000905b828210156112c1578382604002016002806020026040519081016040528092919082600260200280828437600081840152601f19601f8201169050808301925050505050508152602001906001019061126d565b50505050856002806020026040519081016040528092919082600260200280828437600081840152601f19601f820116905080830192505050505050856002806020026040519081016040528092919082600260200280828437600081840152601f19601f820116905080830192505050505050612303565b61138f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f8152602001806137bd603f913960400191505060405180910390fd5b600f60405180606001604052808381526020013373ffffffffffffffffffffffffffffffffffffffff1681526020016000151581525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff02191690831515021790555050506001600f805490500360106000838152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167f01d5f9f5a890e5385b4f1d07d3c8c1f739f82bb433ed461d4551b7af3edc6340826040518082815260200191505060405180910390a25050505050565b60006114e1836117c4565b82106114ec57600080fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811061153657fe5b9060005260206000200154905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461160e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600160149054906101000a900460ff1615611674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061376a6026913960400191505060405180910390fd5b61167e8383612498565b611687826124b9565b6001905092915050565b6116ac83838360405180602001604052806000815250611de3565b505050565b60006116bb61102e565b82106116c657600080fd5b600882815481106116d357fe5b90600052602060002001549050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6060600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117ba5780601f1061178f576101008083540402835291602001916117ba565b820191906000526020600020905b81548152906001019060200180831161179d57829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561184b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806135bf602a913960400191505060405180910390fd5b611892600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612610565b9050919050565b600160149054906101000a900460ff16156118ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061376a6026913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60018060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600b8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611b035780601f10611ad857610100808354040283529160200191611b03565b820191906000526020600020905b815481529060010190602001808311611ae657829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b4657600080fd5b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b803373ffffffffffffffffffffffffffffffffffffffff16611c688261261e565b6020015173ffffffffffffffffffffffffffffffffffffffff1614611cd8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603481526020018061352f6034913960400191505060405180910390fd5b611ce18261261e565b6040015115611d3b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806136996032913960400191505060405180910390fd5b611d44826126e7565b611d51338360001c611549565b507f07f44d32175369544305976bd326a6e5e99ede758a9980de84c645babf62096933838460001c604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a15050565b6000600160149054906101000a900460ff16905090565b611dee84848461103b565b611dfa8484848461273a565b611e0357600080fd5b50505050565b6060611e14826121b9565b611e69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061366a602f913960400191505060405180910390fd5b600d60008381526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f105780601f10611ee557610100808354040283529160200191611f10565b820191906000526020600020905b815481529060010190602001808311611ef357829003601f168201915b50505050509050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612073576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156120f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806135096026913960400191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b600080612237836116e5565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806122a657508373ffffffffffffffffffffffffffffffffffffffff1661228e84610d54565b73ffffffffffffffffffffffffffffffffffffffff16145b806122b757506122b68185611f1c565b5b91505092915050565b6122cb838383612923565b6122d58382612bdd565b6122df8282612d86565b505050565b6000806010600084815260200190815260200160002054149050919050565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663621e9ec0868686866040518563ffffffff1660e01b81526004018085600260200280838360005b83811015612381578082015181840152602081019050612366565b505050509050018460026000925b818410156123d55782846020020151600260200280838360005b838110156123c45780820151818401526020810190506123a9565b50505050905001926001019261238f565b9250505083600260200280838360005b838110156124005780820151818401526020810190506123e5565b5050505090500182600260200280838360005b8381101561242e578082015181840152602081019050612413565b5050505090500194505050505060206040518083038186803b15801561245357600080fd5b505afa158015612467573d6000803e3d6000fd5b505050506040513d602081101561247d57600080fd5b81019080805190602001909291905050509050949350505050565b6124a28282612e4a565b6124ac8282612d86565b6124b581613062565b5050565b6124c2816121b9565b612517576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180613615602c913960400191505060405180910390fd5b600c612522826130ab565b60405160200180838054600181600116156101000203166002900480156125805780601f1061255e576101008083540402835291820191612580565b820191906000526020600020905b81548152906001019060200180831161256c575b505082805190602001908083835b602083106125b1578051825260208201915060208101905060208303925061258e565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052600d6000838152602001908152602001600020908051906020019061260c929190613427565b5050565b600081600001549050919050565b6126266134a7565b600060106000848152602001908152602001600020549050600f818154811061264b57fe5b9060005260206000209060020201604051806060016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff161515151581525050915050919050565b6000601060008381526020019081526020016000205490506001600f828154811061270e57fe5b906000526020600020906002020160010160146101000a81548160ff0219169083151502179055505050565b600061275b8473ffffffffffffffffffffffffffffffffffffffff166131db565b612768576001905061291b565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612843578082015181840152602081019050612828565b50505050905090810190601f1680156128705780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561289257600080fd5b505af11580156128a6573d6000803e3d6000fd5b505050506040513d60208110156128bc57600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b61292d338261222b565b612982576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806137396031913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166129a2826116e5565b73ffffffffffffffffffffffffffffffffffffffff1614612a0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806136416029913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a94576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806135636024913960400191505060405180910390fd5b612a9d81613226565b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612b36600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206132e4565b612b7d600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020613307565b808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000612c356001600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061331d90919063ffffffff16565b9050600060076000848152602001908152602001600020549050818114612d22576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110612ca257fe5b9060005260206000200154905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110612cfa57fe5b9060005260206000200181905550816007600083815260200190815260200160002081905550505b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480612d6a57fe5b6001900381819060005260206000200160009055905550505050565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506007600083815260200190815260200160002081905550600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612eed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4552433732313a206d696e7420746f20746865207a65726f206164647265737381525060200191505060405180910390fd5b612ef6816121b9565b15612f69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000081525060200191505060405180910390fd5b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613002600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020613307565b808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b606060008214156130f3576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506131d6565b600082905060005b6000821461311d578080600101915050600a828161311557fe5b0491506130fb565b6060816040519080825280601f01601f1916602001820160405280156131525781602001600182028038833980820191505090505b50905060006001830390508593505b600084146131ce57600a848161317357fe5b0660300160f81b8282806001900393508151811061318d57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a84816131c657fe5b049350613161565b819450505050505b919050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561321d57506000801b8214155b92505050919050565b600073ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146132e15760006003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6132fc6001826000015461331d90919063ffffffff16565b816000018190555050565b6001816000016000828254019250508190555050565b600061335f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613367565b905092915050565b6000838311158290613414576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156133d95780820151818401526020810190506133be565b50505050905090810190601f1680156134065780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061346857805160ff1916838001178555613496565b82800160010185558215613496579182015b8281111561349557825182559160200191906001019061347a565b5b5090506134a391906134e3565b5090565b604051806060016040528060008019168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000151581525090565b61350591905b808211156135015760008160009055506001016134e9565b5090565b9056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734b727970746f5265616c53746174655a4b503a206f6e6c79207468652070726f7665722063616e206d696e74206120746f6b656e4552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4b727970746f5265616c53746174655a4b503a20736f6c7574696f6e20686173206265656e207573656420616c72656164794552433732313a20617070726f76616c20746f2063757272656e74206f776e65724b727970746f5265616c53746174655a4b503a20736f6c7574696f6e2065786973747320616c72656164795061757361626c653a206578706563746564202770617573656427207374617475734552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665645061757361626c653a20657870656374656420276e6f742070617573656427207374617475734552433732313a20617070726f7665207265717565737420666f72206e6f6e6578697374656e7420746f6b656e4b727970746f5265616c53746174655a4b503a20736f6c7574696f6e2070726f6f66206973202a6e6f742a2076616c696420666f722074686520696e707574a264697066735822122039daf1dd096e2b2d71d328aa4f1026453dff0ee426be49380be3f727ec46123164736f6c6343000602003368747470733a2f2f73332d75732d776573742d322e616d617a6f6e6177732e636f6d2f756461636974792d626c6f636b636861696e2f63617073746f6e652f", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101735760003560e01c80636352211e116100de578063a22cb46511610097578063b88d4fde11610071578063b88d4fde14610837578063c87b56dd1461093c578063e985e9c5146109e3578063f2fde38b14610a5f57610173565b8063a22cb46514610797578063a521ad7c146107e7578063b187bd261461081557610173565b80636352211e146105775780636c0360eb146105e557806370a08231146106685780638456cb59146106c05780638da5cb5b146106ca57806395d89b411461071457610173565b806323b872dd1161013057806323b872dd146103445780632c181d25146103b25780632f745c59146103ff57806340c10f191461046157806342842e0e146104c75780634f6ccce71461053557610173565b806301ffc9a714610178578063046f7da2146101dd57806306fdde03146101e7578063081812fc1461026a578063095ea7b3146102d857806318160ddd14610326575b600080fd5b6101c36004803603602081101561018e57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610aa3565b604051808215151515815260200191505060405180910390f35b6101e5610b0a565b005b6101ef610cb2565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561022f578082015181840152602081019050610214565b50505050905090810190601f16801561025c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102966004803603602081101561028057600080fd5b8101908080359060200190929190505050610d54565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610324600480360360408110156102ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610def565b005b61032e61102e565b6040518082815260200191505060405180910390f35b6103b06004803603606081101561035a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061103b565b005b6103fd60048036036101408110156103c957600080fd5b810190808060400190919291929080608001909192919290806040019091929192908060400190919291929050505061105e565b005b61044b6004803603604081101561041557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114d6565b6040518082815260200191505060405180910390f35b6104ad6004803603604081101561047757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611549565b604051808215151515815260200191505060405180910390f35b610533600480360360608110156104dd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611691565b005b6105616004803603602081101561054b57600080fd5b81019080803590602001909291905050506116b1565b6040518082815260200191505060405180910390f35b6105a36004803603602081101561058d57600080fd5b81019080803590602001909291905050506116e5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105ed611722565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561062d578082015181840152602081019050610612565b50505050905090810190601f16801561065a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106aa6004803603602081101561067e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117c4565b6040518082815260200191505060405180910390f35b6106c8611899565b005b6106d2611a41565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61071c611a6b565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561075c578082015181840152602081019050610741565b50505050905090810190601f1680156107895780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107e5600480360360408110156107ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611b0d565b005b610813600480360360208110156107fd57600080fd5b8101908080359060200190929190505050611c47565b005b61081d611dcc565b604051808215151515815260200191505060405180910390f35b61093a6004803603608081101561084d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156108b457600080fd5b8201836020820111156108c657600080fd5b803590602001918460018302840111640100000000831117156108e857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611de3565b005b6109686004803603602081101561095257600080fd5b8101908080359060200190929190505050611e09565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109a857808201518184015260208101905061098d565b50505050905090810190601f1680156109d55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610a45600480360360408110156109f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f1c565b604051808215151515815260200191505060405180910390f35b610aa160048036036020811015610a7557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fb0565b005b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b600160149054906101000a900460ff16610b6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806137176022913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600160146101000a81548160ff0219169083151502179055507f5d287a3a02ade76478d8449abebe9dc45b38421247132b68127dd3cd6c05f3cf33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6060600a8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d4a5780601f10610d1f57610100808354040283529160200191610d4a565b820191906000526020600020905b815481529060010190602001808311610d2d57829003601f168201915b5050505050905090565b6000610d5f826121b9565b610db4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806135e9602c913960400191505060405180910390fd5b6003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610df8816121b9565b610e4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180613790602d913960400191505060405180910390fd5b6000610e58826116e5565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610edf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806136cb6021913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f1f5750610f1e8133611f1c565b5b610f74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806135876038913960400191505060405180910390fd5b826003600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff16610fe7846116e5565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000600880549050905090565b611045338261222b565b61104e57600080fd5b6110598383836122c0565b505050565b60008460006002811061106d57fe5b60200201358560016002811061107f57fe5b60200201358560006002811061109157fe5b604002016000600281106110a157fe5b6020020135866000600281106110b357fe5b604002016001600281106110c357fe5b6020020135876001600281106110d557fe5b604002016000600281106110e557fe5b6020020135886001600281106110f757fe5b6040020160016002811061110757fe5b60200201358860006002811061111957fe5b60200201358960016002811061112b57fe5b60200201358960006002811061113d57fe5b60200201358a60016002811061114f57fe5b6020020135604051602001808b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019a50505050505050505050506040516020818303038152906040528051906020012090506111c4816122e4565b1561121a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806136ec602b913960400191505060405180910390fd5b61133a856002806020026040519081016040528092919082600260200280828437600081840152601f19601f82011690508083019250505050505085600280602002604051908101604052809291906000905b828210156112c1578382604002016002806020026040519081016040528092919082600260200280828437600081840152601f19601f8201169050808301925050505050508152602001906001019061126d565b50505050856002806020026040519081016040528092919082600260200280828437600081840152601f19601f820116905080830192505050505050856002806020026040519081016040528092919082600260200280828437600081840152601f19601f820116905080830192505050505050612303565b61138f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f8152602001806137bd603f913960400191505060405180910390fd5b600f60405180606001604052808381526020013373ffffffffffffffffffffffffffffffffffffffff1681526020016000151581525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff02191690831515021790555050506001600f805490500360106000838152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167f01d5f9f5a890e5385b4f1d07d3c8c1f739f82bb433ed461d4551b7af3edc6340826040518082815260200191505060405180910390a25050505050565b60006114e1836117c4565b82106114ec57600080fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811061153657fe5b9060005260206000200154905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461160e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600160149054906101000a900460ff1615611674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061376a6026913960400191505060405180910390fd5b61167e8383612498565b611687826124b9565b6001905092915050565b6116ac83838360405180602001604052806000815250611de3565b505050565b60006116bb61102e565b82106116c657600080fd5b600882815481106116d357fe5b90600052602060002001549050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6060600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117ba5780601f1061178f576101008083540402835291602001916117ba565b820191906000526020600020905b81548152906001019060200180831161179d57829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561184b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806135bf602a913960400191505060405180910390fd5b611892600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612610565b9050919050565b600160149054906101000a900460ff16156118ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061376a6026913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60018060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600b8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611b035780601f10611ad857610100808354040283529160200191611b03565b820191906000526020600020905b815481529060010190602001808311611ae657829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b4657600080fd5b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b803373ffffffffffffffffffffffffffffffffffffffff16611c688261261e565b6020015173ffffffffffffffffffffffffffffffffffffffff1614611cd8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603481526020018061352f6034913960400191505060405180910390fd5b611ce18261261e565b6040015115611d3b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806136996032913960400191505060405180910390fd5b611d44826126e7565b611d51338360001c611549565b507f07f44d32175369544305976bd326a6e5e99ede758a9980de84c645babf62096933838460001c604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a15050565b6000600160149054906101000a900460ff16905090565b611dee84848461103b565b611dfa8484848461273a565b611e0357600080fd5b50505050565b6060611e14826121b9565b611e69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061366a602f913960400191505060405180910390fd5b600d60008381526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f105780601f10611ee557610100808354040283529160200191611f10565b820191906000526020600020905b815481529060010190602001808311611ef357829003601f168201915b50505050509050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612073576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156120f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806135096026913960400191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b600080612237836116e5565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806122a657508373ffffffffffffffffffffffffffffffffffffffff1661228e84610d54565b73ffffffffffffffffffffffffffffffffffffffff16145b806122b757506122b68185611f1c565b5b91505092915050565b6122cb838383612923565b6122d58382612bdd565b6122df8282612d86565b505050565b6000806010600084815260200190815260200160002054149050919050565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663621e9ec0868686866040518563ffffffff1660e01b81526004018085600260200280838360005b83811015612381578082015181840152602081019050612366565b505050509050018460026000925b818410156123d55782846020020151600260200280838360005b838110156123c45780820151818401526020810190506123a9565b50505050905001926001019261238f565b9250505083600260200280838360005b838110156124005780820151818401526020810190506123e5565b5050505090500182600260200280838360005b8381101561242e578082015181840152602081019050612413565b5050505090500194505050505060206040518083038186803b15801561245357600080fd5b505afa158015612467573d6000803e3d6000fd5b505050506040513d602081101561247d57600080fd5b81019080805190602001909291905050509050949350505050565b6124a28282612e4a565b6124ac8282612d86565b6124b581613062565b5050565b6124c2816121b9565b612517576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180613615602c913960400191505060405180910390fd5b600c612522826130ab565b60405160200180838054600181600116156101000203166002900480156125805780601f1061255e576101008083540402835291820191612580565b820191906000526020600020905b81548152906001019060200180831161256c575b505082805190602001908083835b602083106125b1578051825260208201915060208101905060208303925061258e565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052600d6000838152602001908152602001600020908051906020019061260c929190613427565b5050565b600081600001549050919050565b6126266134a7565b600060106000848152602001908152602001600020549050600f818154811061264b57fe5b9060005260206000209060020201604051806060016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff161515151581525050915050919050565b6000601060008381526020019081526020016000205490506001600f828154811061270e57fe5b906000526020600020906002020160010160146101000a81548160ff0219169083151502179055505050565b600061275b8473ffffffffffffffffffffffffffffffffffffffff166131db565b612768576001905061291b565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612843578082015181840152602081019050612828565b50505050905090810190601f1680156128705780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561289257600080fd5b505af11580156128a6573d6000803e3d6000fd5b505050506040513d60208110156128bc57600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b61292d338261222b565b612982576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806137396031913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166129a2826116e5565b73ffffffffffffffffffffffffffffffffffffffff1614612a0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806136416029913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a94576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806135636024913960400191505060405180910390fd5b612a9d81613226565b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612b36600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206132e4565b612b7d600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020613307565b808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000612c356001600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061331d90919063ffffffff16565b9050600060076000848152602001908152602001600020549050818114612d22576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110612ca257fe5b9060005260206000200154905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110612cfa57fe5b9060005260206000200181905550816007600083815260200190815260200160002081905550505b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480612d6a57fe5b6001900381819060005260206000200160009055905550505050565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506007600083815260200190815260200160002081905550600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612eed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4552433732313a206d696e7420746f20746865207a65726f206164647265737381525060200191505060405180910390fd5b612ef6816121b9565b15612f69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000081525060200191505060405180910390fd5b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613002600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020613307565b808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b606060008214156130f3576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506131d6565b600082905060005b6000821461311d578080600101915050600a828161311557fe5b0491506130fb565b6060816040519080825280601f01601f1916602001820160405280156131525781602001600182028038833980820191505090505b50905060006001830390508593505b600084146131ce57600a848161317357fe5b0660300160f81b8282806001900393508151811061318d57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a84816131c657fe5b049350613161565b819450505050505b919050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561321d57506000801b8214155b92505050919050565b600073ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146132e15760006003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6132fc6001826000015461331d90919063ffffffff16565b816000018190555050565b6001816000016000828254019250508190555050565b600061335f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613367565b905092915050565b6000838311158290613414576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156133d95780820151818401526020810190506133be565b50505050905090810190601f1680156134065780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061346857805160ff1916838001178555613496565b82800160010185558215613496579182015b8281111561349557825182559160200191906001019061347a565b5b5090506134a391906134e3565b5090565b604051806060016040528060008019168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000151581525090565b61350591905b808211156135015760008160009055506001016134e9565b5090565b9056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734b727970746f5265616c53746174655a4b503a206f6e6c79207468652070726f7665722063616e206d696e74206120746f6b656e4552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4b727970746f5265616c53746174655a4b503a20736f6c7574696f6e20686173206265656e207573656420616c72656164794552433732313a20617070726f76616c20746f2063757272656e74206f776e65724b727970746f5265616c53746174655a4b503a20736f6c7574696f6e2065786973747320616c72656164795061757361626c653a206578706563746564202770617573656427207374617475734552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665645061757361626c653a20657870656374656420276e6f742070617573656427207374617475734552433732313a20617070726f7665207265717565737420666f72206e6f6e6578697374656e7420746f6b656e4b727970746f5265616c53746174655a4b503a20736f6c7574696f6e2070726f6f66206973202a6e6f742a2076616c696420666f722074686520696e707574a264697066735822122039daf1dd096e2b2d71d328aa4f1026453dff0ee426be49380be3f727ec46123164736f6c63430006020033", - "sourceMap": "144:2987:6:-:0;;;911:115;8:9:-1;5:2;;;30:1;27;20:12;5:2;911:115:6;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;911:115:6;;;;;;;;;;;;;;;;754:267:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;825:40:1;531:10;844:20;;825:18;;;:40;;:::i;:::-;884:10:7;875:6;;:19;;;;;;;;;;;;;;;;;;943:6;;;;;;;;;;;910:40;;939:1;910:40;;;;;;;;;;;;1188:5:8;1178:7;;:15;;;;;;;;;;;;;;;;;;2256:40:2;2108:10;2275:20;;2256:18;;;:40;;:::i;:::-;1216:51:3;1072:10;1235:31;;1216:18;;;:51;;:::i;:::-;891:4:4;883:5;:12;;;;;;;;;;;;:::i;:::-;;916:6;906:7;:16;;;;;;;;;;;;:::i;:::-;;944:7;933:8;:18;;;;;;;;;;;;:::i;:::-;;964:49;735:10;983:29;;964:18;;;:49;;:::i;:::-;754:267;;;1009:8:6::1;977:14;;:41;;;;;;;;;;;;;;;;;;911:115:::0;144:2987;;1607:193:1;1698:10;1683:25;;:11;:25;;;;;1675:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1788:4;1752:20;:33;1773:11;1752:33;;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;1607:193;:::o;144:2987:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "144:2987:6:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;144:2987:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1199:167:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1199:167:1;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1613:123:8;;;:::i;:::-;;1084:85:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1084:85:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3815:241:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3815:241:2;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3156:570;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3156:570:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2031:96:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5089:218:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5089:218:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1111:924:6;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1111:924:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1656:217:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1656:217:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;357:229:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;357:229:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5315:168:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5315:168:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2472:151:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2472:151:3;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2568:110:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2568:110:2;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1406:91:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1406:91:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2312:248:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2312:248:2;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1424:123:8;;;:::i;:::-;;1039:79:7;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1234:89:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1234:89:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4356:217:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4356:217:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2087:340:6;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2087:340:6;;;;;;;;;;;;;;;;;:::i;:::-;;1280:80:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5491:257:2;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;5491:257:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5491:257:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5491:257:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5491:257:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;5491:257:2;;;;;;;;;;;;;;;:::i;:::-;;1706:244:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1706:244:4;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1706:244:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4902:179:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4902:179:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1273:281:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1273:281:7;;;;;;;;;;;;;;;;;;;:::i;:::-;;1199:167:1;1296:4;1325:20;:33;1346:11;1325:33;;;;;;;;;;;;;;;;;;;;;;;;;;;1318:40;;1199:167;;;:::o;1613:123:8:-;764:7;;;;;;;;;;;756:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;480:10:7::1;470:20;;:6;;;;;;;;;;;:20;;;462:65;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;1688:5:8::2;1678:7;;:15;;;;;;;;;;;;;;;;;;1709:19;1717:10;1709:19;;;;;;;;;;;;;;;;;;;;;;1613:123::o:0;1084:85:4:-;1123:13;1156:5;1149:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1084:85;:::o;3815:241:2:-;3874:7;3916:16;3924:7;3916;:16::i;:::-;3894:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4024:15;:24;4040:7;4024:24;;;;;;;;;;;;;;;;;;;;;4017:31;;3815:241;;;:::o;3156:570::-;3242:16;3250:7;3242;:16::i;:::-;3220:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3344:13;3360:16;3368:7;3360;:16::i;:::-;3344:32;;3401:5;3395:11;;:2;:11;;;;3387:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3493:5;3479:19;;:10;:19;;;:58;;;;3502:35;3519:5;3526:10;3502:16;:35::i;:::-;3479:58;3457:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3661:2;3634:15;:24;3650:7;3634:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;3710:7;3706:2;3679:39;;3688:16;3696:7;3688;:16::i;:::-;3679:39;;;;;;;;;;;;3156:570;;;:::o;2031:96:3:-;2075:7;2102:10;:17;;;;2095:24;;2031:96;:::o;5089:218:2:-;5214:39;5233:10;5245:7;5214:18;:39::i;:::-;5206:48;;;;;;5267:32;5281:4;5287:2;5291:7;5267:13;:32::i;:::-;5089:218;;;:::o;1111:924:6:-;1297:11;1370:1;1372;1370:4;;;;;;;;;;;1393:1;1395;1393:4;;;;;;;;;;;1416:1;1418;1416:4;;;;;;;;;;1421:1;1416:7;;;;;;;;;;;1442:1;1444;1442:4;;;;;;;;;;1447:1;1442:7;;;;;;;;;;;1468:1;1470;1468:4;;;;;;;;;;1473:1;1468:7;;;;;;;;;;;1494:1;1496;1494:4;;;;;;;;;;1499:1;1494:7;;;;;;;;;;;1520:1;1522;1520:4;;;;;;;;;;;1543:1;1545;1543:4;;;;;;;;;;;1566:5;1572:1;1566:8;;;;;;;;;;;1593:5;1599:1;1593:8;;;;;;;;;;;1335:281;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1335:281:6;;;1311:316;;;;;;1297:330;;1647:12;1655:3;1647:7;:12::i;:::-;1646:13;1638:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1742:29;1756:1;1742:29;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1742:29:6;;;;;1759:1;1742:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1742:29:6;;;;;;;;;;;;;;;;;;;;1762:1;1742:29;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1742:29:6;;;;;1765:5;1742:29;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1742:29:6;;;;;:13;:29::i;:::-;1720:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1875:10;1891:32;;;;;;;;1900:3;1891:32;;;;1905:10;1891:32;;;;;;1917:5;1891:32;;;;;1875:49;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;1875:49:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1978:1;1958:10;:17;;;;:21;1935:15;:20;1951:3;1935:20;;;;;;;;;;;:44;;;;2016:10;1997:30;;;2011:3;1997:30;;;;;;;;;;;;;;;;;;1111:924;;;;;:::o;1656:217:3:-;1763:7;1804:16;1814:5;1804:9;:16::i;:::-;1796:5;:24;1788:33;;;;;;1839:12;:19;1852:5;1839:19;;;;;;;;;;;;;;;1859:5;1839:26;;;;;;;;;;;;;;;;1832:33;;1656:217;;;;:::o;357:229:5:-;476:4;480:10:7;470:20;;:6;;;;;;;;;;;:20;;;462:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;554:7:8::1;;;;;;;;;;;553:8;545:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;498:24:5::2;510:2;514:7;498:11;:24::i;:::-;533:21;546:7;533:12;:21::i;:::-;574:4;567:11;;357:229:::0;;;;:::o;5315:168:2:-;5436:39;5453:4;5459:2;5463:7;5436:39;;;;;;;;;;;;:16;:39::i;:::-;5315:168;;;:::o;2472:151:3:-;2530:7;2566:13;:11;:13::i;:::-;2558:5;:21;2550:30;;;;;;2598:10;2609:5;2598:17;;;;;;;;;;;;;;;;2591:24;;2472:151;;;:::o;2568:110:2:-;2623:7;2650:11;:20;2662:7;2650:20;;;;;;;;;;;;;;;;;;;;;2643:27;;2568:110;;;:::o;1406:91:4:-;1448:13;1481:8;1474:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1406:91;:::o;2312:248:2:-;2367:7;2426:1;2409:19;;:5;:19;;;;2387:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2518:34;:17;:24;2536:5;2518:24;;;;;;;;;;;;;;;:32;:34::i;:::-;2511:41;;2312:248;;;:::o;1424:123:8:-;554:7;;;;;;;;;;;553:8;545:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;480:10:7::1;470:20;;:6;;;;;;;;;;;:20;;;462:65;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;1501:4:8::2;1491:7:::0;::::2;:14;;;;;;;;;;;;;;;;;;1521:18;1528:10;1521:18;;;;;;;;;;;;;;;;;;;;;;1424:123::o:0;1039:79:7:-;1077:7;1104:6;;;;;;;;;;;1097:13;;1039:79;:::o;1234:89:4:-;1275:13;1308:7;1301:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1234:89;:::o;4356:217:2:-;4442:10;4436:16;;:2;:16;;;;4428:25;;;;;;4501:8;4464:18;:30;4483:10;4464:30;;;;;;;;;;;;;;;:34;4495:2;4464:34;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;4552:2;4525:40;;4540:10;4525:40;;;4556:8;4525:40;;;;;;;;;;;;;;;;;;;;;;4356:217;;:::o;2087:340:6:-;2139:3;662:10;637:35;;:14;647:3;637:9;:14::i;:::-;:21;;;:35;;;615:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2179:14:::1;2189:3;2179:9;:14::i;:::-;:23;;;2177:26;2155:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2294:20;2310:3;2294:15;:20::i;:::-;2325:36;2336:10;2356:3;2348:12;;2325:10;:36::i;:::-;;2377:42;2389:10;2401:3;2414;2406:12;;2377:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2087:340:::0;;:::o;1280:80:8:-;1321:4;1345:7;;;;;;;;;;;1338:14;;1280:80;:::o;5491:257:2:-;5641:31;5654:4;5660:2;5664:7;5641:12;:31::i;:::-;5691:48;5714:4;5720:2;5724:7;5733:5;5691:22;:48::i;:::-;5683:57;;;;;;5491:257;;;;:::o;1706:244:4:-;1764:13;1812:16;1820:7;1812;:16::i;:::-;1790:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1923:10;:19;1934:7;1923:19;;;;;;;;;;;1916:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1706:244;;;:::o;4902:179:2:-;5009:4;5038:18;:25;5057:5;5038:25;;;;;;;;;;;;;;;:35;5064:8;5038:35;;;;;;;;;;;;;;;;;;;;;;;;;5031:42;;4902:179;;;;:::o;1273:281:7:-;480:10;470:20;;:6;;;;;;;;;;;:20;;;462:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1396:1:::1;1376:22;;:8;:22;;;;1354:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1484:8;1475:6;;:17;;;;;;;;;;;;;;;;;;1537:8;1508:38;;1529:6;;;;;;;;;;;1508:38;;;;;;;;;;;;1273:281:::0;:::o;5949:163:2:-;6014:4;6031:13;6047:11;:20;6059:7;6047:20;;;;;;;;;;;;;;;;;;;;;6031:36;;6102:1;6085:19;;:5;:19;;;;6078:26;;;5949:163;;;:::o;6481:307::-;6593:4;6615:13;6631:16;6639:7;6631;:16::i;:::-;6615:32;;6677:5;6666:16;;:7;:16;;;:64;;;;6723:7;6699:31;;:20;6711:7;6699:11;:20::i;:::-;:31;;;6666:64;:113;;;;6747:32;6764:5;6771:7;6747:16;:32::i;:::-;6666:113;6658:122;;;6481:307;;;;:::o;3007:286:3:-;3136:38;3156:4;3162:2;3166:7;3136:19;:38::i;:::-;3187:47;3220:4;3226:7;3187:32;:47::i;:::-;3245:40;3273:2;3277:7;3245:27;:40::i;:::-;3007:286;;;:::o;2605:110:6:-;2658:4;2706:1;2682:15;:20;2698:3;2682:20;;;;;;;;;;;;:25;2675:32;;2605:110;;;:::o;2877:251::-;3057:4;3081:14;;;;;;;;;;;:23;;;3105:1;3108;3111;3114:5;3081:39;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3081:39:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3081:39:6;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3081:39:6;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3081:39:6;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3081:39:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3081:39:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3081:39:6;;;;;;;;;;;;;;;;3074:46;;2877:251;;;;;;:::o;3556:209:3:-;3629:24;3641:2;3645:7;3629:11;:24::i;:::-;3666:40;3694:2;3698:7;3666:27;:40::i;:::-;3717;3749:7;3717:31;:40::i;:::-;3556:209;;:::o;2021:303:4:-;2110:16;2118:7;2110;:16::i;:::-;2088:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2269:8;2279:25;2296:7;2279:16;:25::i;:::-;2252:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2252:53:4;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2252:53:4;;;2209:10;:19;2220:7;2209:19;;;;;;;;;;;:107;;;;;;;;;;;;:::i;:::-;;2021:303;:::o;1098:112:14:-;1163:7;1189;:14;;;1182:21;;1098:112;;;:::o;2435:162:6:-;2490:15;;:::i;:::-;2518:13;2534:15;:20;2550:3;2534:20;;;;;;;;;;;;2518:36;;2572:10;2583:5;2572:17;;;;;;;;;;;;;;;;;;2565:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2435:162;;;:::o;2723:146::-;2781:13;2797:15;:20;2813:3;2797:20;;;;;;;;;;;;2781:36;;2857:4;2828:10;2839:5;2828:17;;;;;;;;;;;;;;;;;;:26;;;:33;;;;;;;;;;;;;;;;;;2723:146;;:::o;8606:448:2:-;8762:4;8784:15;:2;:13;;;:15::i;:::-;8779:60;;8823:4;8816:11;;;;8779:60;8851:13;8883:2;8867:36;;;8918:10;8943:4;8962:7;8984:5;8867:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8867:133:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8867:133:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8867:133:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8867:133:2;;;;;;;;;;;;;;;;8851:149;;1229:10;9029:16;;9019:26;;;:6;:26;;;;9011:35;;;8606:448;;;;;;;:::o;7382:685::-;7532:39;7551:10;7563:7;7532:18;:39::i;:::-;7510:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7701:4;7681:24;;:16;7689:7;7681;:16::i;:::-;:24;;;7659:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7807:1;7793:16;;:2;:16;;;;7785:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7863:23;7878:7;7863:14;:23::i;:::-;7922:2;7899:11;:20;7911:7;7899:20;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;7935:35;:17;:23;7953:4;7935:23;;;;;;;;;;;;;;;:33;:35::i;:::-;7981:33;:17;:21;7999:2;7981:21;;;;;;;;;;;;;;;:31;:33::i;:::-;8051:7;8047:2;8032:27;;8041:4;8032:27;;;;;;;;;;;;7382:685;;;:::o;5242:1082:3:-;5522:22;5547:32;5577:1;5547:12;:18;5560:4;5547:18;;;;;;;;;;;;;;;:25;;;;:29;;:32;;;;:::i;:::-;5522:57;;5590:18;5611:17;:26;5629:7;5611:26;;;;;;;;;;;;5590:47;;5758:14;5744:10;:28;5740:328;;5789:19;5811:12;:18;5824:4;5811:18;;;;;;;;;;;;;;;5830:14;5811:34;;;;;;;;;;;;;;;;5789:56;;5895:11;5862:12;:18;5875:4;5862:18;;;;;;;;;;;;;;;5881:10;5862:30;;;;;;;;;;;;;;;:44;;;;6012:10;5979:17;:30;5997:11;5979:30;;;;;;;;;;;:43;;;;5740:328;;6080:12;:18;6093:4;6080:18;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;;;;;;;5242:1082;;;;:::o;4066:186::-;4180:12;:16;4193:2;4180:16;;;;;;;;;;;;;;;:23;;;;4151:17;:26;4169:7;4151:26;;;;;;;;;;;:52;;;;4214:12;:16;4227:2;4214:16;;;;;;;;;;;;;;;4236:7;4214:30;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;4214:30:3;;;;;;;;;;;;;;;;;;;4066:186;;:::o;6911:343:2:-;7005:1;6991:16;;:2;:16;;;;6983:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7064:16;7072:7;7064;:16::i;:::-;7063:17;7055:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7149:2;7126:11;:20;7138:7;7126:20;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;7162:33;:17;:21;7180:2;7162:21;;;;;;;;;;;;;;;:31;:33::i;:::-;7238:7;7234:2;7213:33;;7230:1;7213:33;;;;;;;;;;;;6911:343;;:::o;4453:164:3:-;4557:10;:17;;;;4530:15;:24;4546:7;4530:24;;;;;;;;;;;:44;;;;4585:10;4601:7;4585:24;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;4585:24:3;;;;;;;;;;;;;;;;;;;4453:164;:::o;202:723:15:-;258:13;484:1;475:5;:10;471:51;;;501:10;;;;;;;;;;;;;;;;;;;;;471:51;531:12;546:5;531:20;;561:14;585:75;600:1;592:4;:9;585:75;;617:8;;;;;;;647:2;639:10;;;;;;;;;585:75;;;669:19;701:6;691:17;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;116:4;104:10;96:6;87:34;147:4;139:6;135:17;125:27;;0:156;691:17:15;;;;669:39;;718:13;743:1;734:6;:10;718:26;;761:5;754:12;;776:112;791:1;783:4;:9;776:112;;849:2;842:4;:9;;;;;;837:2;:14;826:27;;808:6;815:7;;;;;;;808:15;;;;;;;;;;;:45;;;;;;;;;;;875:2;867:10;;;;;;;;;776:112;;;911:6;897:21;;;;;;202:723;;;;:::o;718:610:13:-;778:4;1036:16;1062:19;1084:66;1062:88;;;;1251:7;1239:20;1227:32;;1290:11;1278:8;:23;;:42;;;;;1317:3;1305:15;;:8;:15;;1278:42;1270:51;;;;718:610;;;:::o;9138:175:2:-;9238:1;9202:38;;:15;:24;9218:7;9202:24;;;;;;;;;;;;;;;;;;;;;:38;;;9198:108;;9292:1;9257:15;:24;9273:7;9257:24;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;9198:108;9138:175;:::o;1400:108:14:-;1480:21;1499:1;1480:7;:14;;;:18;;:21;;;;:::i;:::-;1463:7;:14;;:38;;;;1400:108;:::o;1216:178::-;1386:1;1368:7;:14;;;:19;;;;;;;;;;;1216:178;:::o;1321:134:11:-;1379:7;1405:43;1409:1;1412;1405:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1398:50;;1321:134;;;;:::o;1746:187::-;1832:7;1864:1;1859;:6;;1867:12;1851:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1851:29:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1890:9;1906:1;1902;:5;1890:17;;1925:1;1918:8;;;1746:187;;;;;:::o;144:2987:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", - "source": "// SPDX-License-Identifier: MIT\r\n\r\npragma solidity 0.6.2;\r\n\r\nimport \"./KryptoRealState.sol\";\r\nimport \"../zokrates/code/square/verifier.sol\";\r\n\r\ncontract KryptoRealStateZKP is KryptoRealState {\r\n SquareVerifier private squareVerifier;\r\n\r\n struct Solution {\r\n bytes32 key;\r\n address prover;\r\n bool redeemed;\r\n }\r\n // Array with all solutions, used for enumeration\r\n Solution[] private _solutions;\r\n\r\n // Mapping from solution key to the position in the solutions array\r\n mapping(bytes32 => uint256) private _solutionsIndex;\r\n\r\n modifier onlyProver(bytes32 key) {\r\n require(\r\n _solution(key).prover == msg.sender,\r\n \"KryptoRealStateZKP: only the prover can mint a token\"\r\n );\r\n _;\r\n }\r\n\r\n event SolutionAdded(bytes32 key, address indexed prover);\r\n event TokenMinted(address to, bytes32 key, uint256 tokenId);\r\n\r\n constructor(address verifier) public KryptoRealState() {\r\n squareVerifier = SquareVerifier(verifier);\r\n }\r\n\r\n /**\r\n * @dev Submit a candidate solution for verification.\r\n */\r\n function submitSolution(\r\n uint256[2] calldata a,\r\n uint256[2][2] calldata b,\r\n uint256[2] calldata c,\r\n uint256[2] calldata input\r\n ) external {\r\n bytes32 key = keccak256(\r\n abi.encodePacked(\r\n a[0],\r\n a[1],\r\n b[0][0],\r\n b[0][1],\r\n b[1][0],\r\n b[1][1],\r\n c[0],\r\n c[1],\r\n input[0],\r\n input[1]\r\n )\r\n );\r\n require(!_exists(key), \"KryptoRealStateZKP: solution exists already\");\r\n\r\n require(\r\n _isValidProof(a, b, c, input),\r\n \"KryptoRealStateZKP: solution proof is *not* valid for the input\"\r\n );\r\n\r\n _solutions.push(Solution(key, msg.sender, false));\r\n _solutionsIndex[key] = _solutions.length - 1;\r\n\r\n emit SolutionAdded(key, msg.sender);\r\n }\r\n\r\n /**\r\n * @dev Mints token.\r\n */\r\n function mintToken(bytes32 key) external onlyProver(key) {\r\n require(\r\n !(_solution(key).redeemed),\r\n \"KryptoRealStateZKP: solution has been used already\"\r\n );\r\n\r\n _redeemSolution(key);\r\n super.mint(msg.sender, uint256(key));\r\n emit TokenMinted(msg.sender, key, uint256(key));\r\n }\r\n\r\n function _solution(bytes32 key) internal view returns (Solution memory) {\r\n uint256 index = _solutionsIndex[key];\r\n return _solutions[index];\r\n }\r\n\r\n function _exists(bytes32 key) internal view returns (bool) {\r\n return _solutionsIndex[key] == 0;\r\n }\r\n\r\n function _redeemSolution(bytes32 key) internal {\r\n uint256 index = _solutionsIndex[key];\r\n _solutions[index].redeemed = true;\r\n }\r\n\r\n function _isValidProof(\r\n uint256[2] memory a,\r\n uint256[2][2] memory b,\r\n uint256[2] memory c,\r\n uint256[2] memory input\r\n ) internal view returns (bool) {\r\n return squareVerifier.verifyTx(a, b, c, input);\r\n }\r\n}\r\n", - "sourcePath": "C:\\Users\\Diego\\dev\\blockchain\\dapp-real-state\\contracts\\token\\KyptoRealStateZKP.sol", - "ast": { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/KyptoRealStateZKP.sol", - "exportedSymbols": { - "KryptoRealStateZKP": [ - 1411 - ] - }, - "id": 1412, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1106, - "literals": [ - "solidity", - "0.6", - ".2" - ], - "nodeType": "PragmaDirective", - "src": "35:22:6" - }, - { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/KryptoRealState.sol", - "file": "./KryptoRealState.sol", - "id": 1107, - "nodeType": "ImportDirective", - "scope": 1412, - "sourceUnit": 1105, - "src": "61:31:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/zokrates/code/square/verifier.sol", - "file": "../zokrates/code/square/verifier.sol", - "id": 1108, - "nodeType": "ImportDirective", - "scope": 1412, - "sourceUnit": 6665, - "src": "94:46:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1109, - "name": "KryptoRealState", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1104, - "src": "175:15:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KryptoRealState_$1104", - "typeString": "contract KryptoRealState" - } - }, - "id": 1110, - "nodeType": "InheritanceSpecifier", - "src": "175:15:6" - } - ], - "contractDependencies": [ - 105, - 640, - 931, - 1062, - 1104, - 1486, - 1571 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1411, - "linearizedBaseContracts": [ - 1411, - 1104, - 1062, - 931, - 640, - 1571, - 1486, - 105 - ], - "name": "KryptoRealStateZKP", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 1112, - "name": "squareVerifier", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1411, - "src": "198:37:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SquareVerifier_$6664", - "typeString": "contract SquareVerifier" - }, - "typeName": { - "contractScope": null, - "id": 1111, - "name": "SquareVerifier", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6664, - "src": "198:14:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SquareVerifier_$6664", - "typeString": "contract SquareVerifier" - } - }, - "value": null, - "visibility": "private" - }, - { - "canonicalName": "KryptoRealStateZKP.Solution", - "id": 1119, - "members": [ - { - "constant": false, - "id": 1114, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1119, - "src": "271:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1113, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "271:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1116, - "name": "prover", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1119, - "src": "293:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1115, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "293:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1118, - "name": "redeemed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1119, - "src": "318:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1117, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "318:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Solution", - "nodeType": "StructDefinition", - "scope": 1411, - "src": "244:95:6", - "visibility": "public" - }, - { - "constant": false, - "id": 1122, - "name": "_solutions", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1411, - "src": "400:29:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Solution_$1119_storage_$dyn_storage", - "typeString": "struct KryptoRealStateZKP.Solution[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 1120, - "name": "Solution", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1119, - "src": "400:8:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Solution_$1119_storage_ptr", - "typeString": "struct KryptoRealStateZKP.Solution" - } - }, - "id": 1121, - "length": null, - "nodeType": "ArrayTypeName", - "src": "400:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Solution_$1119_storage_$dyn_storage_ptr", - "typeString": "struct KryptoRealStateZKP.Solution[]" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 1126, - "name": "_solutionsIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1411, - "src": "511:51:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 1125, - "keyType": { - "id": 1123, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "519:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "511:27:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueType": { - "id": 1124, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "530:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 1142, - "nodeType": "Block", - "src": "604:168:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1132, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1128, - "src": "647:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1131, - "name": "_solution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1345, - "src": "637:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_struct$_Solution_$1119_memory_ptr_$", - "typeString": "function (bytes32) view returns (struct KryptoRealStateZKP.Solution memory)" - } - }, - "id": 1133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "637:14:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Solution_$1119_memory_ptr", - "typeString": "struct KryptoRealStateZKP.Solution memory" - } - }, - "id": 1134, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prover", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "637:21:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1135, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "662:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "662:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "637:35:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4b727970746f5265616c53746174655a4b503a206f6e6c79207468652070726f7665722063616e206d696e74206120746f6b656e", - "id": 1138, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "687:54:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2ec1357c34109c8f7e918549cc6f475e2d94f28b87ae976501f9ecebce57b4da", - "typeString": "literal_string \"KryptoRealStateZKP: only the prover can mint a token\"" - }, - "value": "KryptoRealStateZKP: only the prover can mint a token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2ec1357c34109c8f7e918549cc6f475e2d94f28b87ae976501f9ecebce57b4da", - "typeString": "literal_string \"KryptoRealStateZKP: only the prover can mint a token\"" - } - ], - "id": 1130, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "615:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "615:137:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1140, - "nodeType": "ExpressionStatement", - "src": "615:137:6" - }, - { - "id": 1141, - "nodeType": "PlaceholderStatement", - "src": "763:1:6" - } - ] - }, - "documentation": null, - "id": 1143, - "name": "onlyProver", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 1129, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1128, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1143, - "src": "591:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1127, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "591:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "590:13:6" - }, - "src": "571:201:6", - "virtual": false, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 1149, - "name": "SolutionAdded", - "nodeType": "EventDefinition", - "parameters": { - "id": 1148, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1145, - "indexed": false, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1149, - "src": "800:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1144, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "800:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1147, - "indexed": true, - "name": "prover", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1149, - "src": "813:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1146, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "813:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "799:37:6" - }, - "src": "780:57:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 1157, - "name": "TokenMinted", - "nodeType": "EventDefinition", - "parameters": { - "id": 1156, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1151, - "indexed": false, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1157, - "src": "861:10:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1150, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "861:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1153, - "indexed": false, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1157, - "src": "873:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1152, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "873:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1155, - "indexed": false, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1157, - "src": "886:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1154, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "886:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "860:42:6" - }, - "src": "843:60:6" - }, - { - "body": { - "id": 1170, - "nodeType": "Block", - "src": "966:60:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1164, - "name": "squareVerifier", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1112, - "src": "977:14:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SquareVerifier_$6664", - "typeString": "contract SquareVerifier" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1166, - "name": "verifier", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1159, - "src": "1009:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1165, - "name": "SquareVerifier", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6664, - "src": "994:14:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SquareVerifier_$6664_$", - "typeString": "type(contract SquareVerifier)" - } - }, - "id": 1167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "994:24:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_SquareVerifier_$6664", - "typeString": "contract SquareVerifier" - } - }, - "src": "977:41:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SquareVerifier_$6664", - "typeString": "contract SquareVerifier" - } - }, - "id": 1169, - "nodeType": "ExpressionStatement", - "src": "977:41:6" - } - ] - }, - "documentation": null, - "id": 1171, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [], - "id": 1162, - "modifierName": { - "argumentTypes": null, - "id": 1161, - "name": "KryptoRealState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1104, - "src": "948:15:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_KryptoRealState_$1104_$", - "typeString": "type(contract KryptoRealState)" - } - }, - "nodeType": "ModifierInvocation", - "src": "948:17:6" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1160, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1159, - "name": "verifier", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1171, - "src": "923:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1158, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "923:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "922:18:6" - }, - "returnParameters": { - "id": 1163, - "nodeType": "ParameterList", - "parameters": [], - "src": "966:0:6" - }, - "scope": 1411, - "src": "911:115:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1282, - "nodeType": "Block", - "src": "1286:749:6", - "statements": [ - { - "assignments": [ - 1193 - ], - "declarations": [ - { - "constant": false, - "id": 1193, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1282, - "src": "1297:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1192, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1297:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1237, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1197, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1175, - "src": "1370:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - "id": 1199, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1198, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1372:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1370:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1200, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1175, - "src": "1393:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - "id": 1202, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1395:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1393:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1203, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1181, - "src": "1416:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_calldata_$2_calldata_ptr", - "typeString": "uint256[2] calldata[2] calldata" - } - }, - "id": 1205, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1418:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1416:4:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata", - "typeString": "uint256[2] calldata" - } - }, - "id": 1207, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1421:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1416:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1208, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1181, - "src": "1442:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_calldata_$2_calldata_ptr", - "typeString": "uint256[2] calldata[2] calldata" - } - }, - "id": 1210, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1209, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1444:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1442:4:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata", - "typeString": "uint256[2] calldata" - } - }, - "id": 1212, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1447:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1442:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1213, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1181, - "src": "1468:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_calldata_$2_calldata_ptr", - "typeString": "uint256[2] calldata[2] calldata" - } - }, - "id": 1215, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1214, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1470:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1468:4:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata", - "typeString": "uint256[2] calldata" - } - }, - "id": 1217, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1216, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1473:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1468:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1218, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1181, - "src": "1494:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_calldata_$2_calldata_ptr", - "typeString": "uint256[2] calldata[2] calldata" - } - }, - "id": 1220, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1219, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1496:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1494:4:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata", - "typeString": "uint256[2] calldata" - } - }, - "id": 1222, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1499:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1494:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1223, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1185, - "src": "1520:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - "id": 1225, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1522:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1520:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1226, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1185, - "src": "1543:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - "id": 1228, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1545:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1543:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1229, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1189, - "src": "1566:5:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - "id": 1231, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1572:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1566:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1232, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1189, - "src": "1593:5:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - "id": 1234, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1233, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1599:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1593:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1195, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1335:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 1196, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1335:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 1235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1335:281:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1194, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1311:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1311:316:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1297:330:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1646:13:6", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1240, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "1655:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1239, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1359, - 429 - ], - "referencedDeclaration": 1359, - "src": "1647:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1647:12:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4b727970746f5265616c53746174655a4b503a20736f6c7574696f6e2065786973747320616c7265616479", - "id": 1243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1661:45:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b616e1af47cd96c40ede12f60f0ceb058c620962c90e4f6fab99e21ab6708799", - "typeString": "literal_string \"KryptoRealStateZKP: solution exists already\"" - }, - "value": "KryptoRealStateZKP: solution exists already" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b616e1af47cd96c40ede12f60f0ceb058c620962c90e4f6fab99e21ab6708799", - "typeString": "literal_string \"KryptoRealStateZKP: solution exists already\"" - } - ], - "id": 1238, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1638:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1638:69:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1245, - "nodeType": "ExpressionStatement", - "src": "1638:69:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1248, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1175, - "src": "1756:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - { - "argumentTypes": null, - "id": 1249, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1181, - "src": "1759:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_calldata_$2_calldata_ptr", - "typeString": "uint256[2] calldata[2] calldata" - } - }, - { - "argumentTypes": null, - "id": 1250, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1185, - "src": "1762:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - { - "argumentTypes": null, - "id": 1251, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1189, - "src": "1765:5:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_calldata_$2_calldata_ptr", - "typeString": "uint256[2] calldata[2] calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - ], - "id": 1247, - "name": "_isValidProof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1410, - "src": "1742:13:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_uint256_$2_memory_ptr_$_t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr_$_t_array$_t_uint256_$2_memory_ptr_$_t_array$_t_uint256_$2_memory_ptr_$returns$_t_bool_$", - "typeString": "function (uint256[2] memory,uint256[2] memory[2] memory,uint256[2] memory,uint256[2] memory) view returns (bool)" - } - }, - "id": 1252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1742:29:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4b727970746f5265616c53746174655a4b503a20736f6c7574696f6e2070726f6f66206973202a6e6f742a2076616c696420666f722074686520696e707574", - "id": 1253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1786:65:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f4137c1f943bf4c3146f6118655d8b1dfa344baf0f853ce5f1e3aeaed004c56c", - "typeString": "literal_string \"KryptoRealStateZKP: solution proof is *not* valid for the input\"" - }, - "value": "KryptoRealStateZKP: solution proof is *not* valid for the input" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f4137c1f943bf4c3146f6118655d8b1dfa344baf0f853ce5f1e3aeaed004c56c", - "typeString": "literal_string \"KryptoRealStateZKP: solution proof is *not* valid for the input\"" - } - ], - "id": 1246, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1720:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1720:142:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1255, - "nodeType": "ExpressionStatement", - "src": "1720:142:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1260, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "1900:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1261, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1905:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1905:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1917:5:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1259, - "name": "Solution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1119, - "src": "1891:8:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Solution_$1119_storage_ptr_$", - "typeString": "type(struct KryptoRealStateZKP.Solution storage pointer)" - } - }, - "id": 1264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1891:32:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Solution_$1119_memory", - "typeString": "struct KryptoRealStateZKP.Solution memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Solution_$1119_memory", - "typeString": "struct KryptoRealStateZKP.Solution memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 1256, - "name": "_solutions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "1875:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Solution_$1119_storage_$dyn_storage", - "typeString": "struct KryptoRealStateZKP.Solution storage ref[] storage ref" - } - }, - "id": 1258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1875:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Solution_$1119_storage_$returns$__$", - "typeString": "function (struct KryptoRealStateZKP.Solution storage ref)" - } - }, - "id": 1265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1875:49:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1266, - "nodeType": "ExpressionStatement", - "src": "1875:49:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1267, - "name": "_solutionsIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1126, - "src": "1935:15:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 1269, - "indexExpression": { - "argumentTypes": null, - "id": 1268, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "1951:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1935:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1270, - "name": "_solutions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "1958:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Solution_$1119_storage_$dyn_storage", - "typeString": "struct KryptoRealStateZKP.Solution storage ref[] storage ref" - } - }, - "id": 1271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1958:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1272, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1978:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1958:21:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1935:44:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1275, - "nodeType": "ExpressionStatement", - "src": "1935:44:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1277, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "2011:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1278, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2016:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2016:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 1276, - "name": "SolutionAdded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1149, - "src": "1997:13:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 1280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1997:30:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1281, - "nodeType": "EmitStatement", - "src": "1992:35:6" - } - ] - }, - "documentation": "@dev Submit a candidate solution for verification.", - "functionSelector": "2c181d25", - "id": 1283, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "submitSolution", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1190, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1175, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1283, - "src": "1145:21:6", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 1172, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1145:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1174, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1153:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "1145:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1181, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1283, - "src": "1177:24:6", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_calldata_$2_calldata_ptr", - "typeString": "uint256[2][2]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 1176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1177:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1178, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1185:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "1177:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "id": 1180, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1179, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1188:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "1177:13:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_storage_$2_storage_ptr", - "typeString": "uint256[2][2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1185, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1283, - "src": "1212:21:6", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 1182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1212:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1184, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1220:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "1212:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1189, - "name": "input", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1283, - "src": "1244:25:6", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 1186, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1244:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1188, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1252:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "1244:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1134:142:6" - }, - "returnParameters": { - "id": 1191, - "nodeType": "ParameterList", - "parameters": [], - "src": "1286:0:6" - }, - "scope": 1411, - "src": "1111:924:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1326, - "nodeType": "Block", - "src": "2144:283:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2177:26:6", - "subExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1293, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1285, - "src": "2189:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1292, - "name": "_solution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1345, - "src": "2179:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_struct$_Solution_$1119_memory_ptr_$", - "typeString": "function (bytes32) view returns (struct KryptoRealStateZKP.Solution memory)" - } - }, - "id": 1294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2179:14:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Solution_$1119_memory_ptr", - "typeString": "struct KryptoRealStateZKP.Solution memory" - } - }, - "id": 1295, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "redeemed", - "nodeType": "MemberAccess", - "referencedDeclaration": 1118, - "src": "2179:23:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 1296, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2178:25:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4b727970746f5265616c53746174655a4b503a20736f6c7574696f6e20686173206265656e207573656420616c7265616479", - "id": 1298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2218:52:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a811e9900e611191fd54bec4a6a5e0ddb58cae88be4fe5eacfbbccf6a81bb795", - "typeString": "literal_string \"KryptoRealStateZKP: solution has been used already\"" - }, - "value": "KryptoRealStateZKP: solution has been used already" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a811e9900e611191fd54bec4a6a5e0ddb58cae88be4fe5eacfbbccf6a81bb795", - "typeString": "literal_string \"KryptoRealStateZKP: solution has been used already\"" - } - ], - "id": 1291, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2155:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2155:126:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1300, - "nodeType": "ExpressionStatement", - "src": "2155:126:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1302, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1285, - "src": "2310:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1301, - "name": "_redeemSolution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "2294:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 1303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2294:20:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1304, - "nodeType": "ExpressionStatement", - "src": "2294:20:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1308, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2336:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2336:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1312, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1285, - "src": "2356:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2348:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 1310, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2348:7:6", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2348:12:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1305, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2325:5:6", - "typeDescriptions": { - "typeIdentifier": "t_super$_KryptoRealStateZKP_$1411", - "typeString": "contract super KryptoRealStateZKP" - } - }, - "id": 1307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 1103, - "src": "2325:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2325:36:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1315, - "nodeType": "ExpressionStatement", - "src": "2325:36:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1317, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2389:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2389:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1319, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1285, - "src": "2401:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1322, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1285, - "src": "2414:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1321, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2406:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 1320, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2406:7:6", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2406:12:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1316, - "name": "TokenMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1157, - "src": "2377:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (address,bytes32,uint256)" - } - }, - "id": 1324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2377:42:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1325, - "nodeType": "EmitStatement", - "src": "2372:47:6" - } - ] - }, - "documentation": "@dev Mints token.", - "functionSelector": "a521ad7c", - "id": 1327, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 1288, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1285, - "src": "2139:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 1289, - "modifierName": { - "argumentTypes": null, - "id": 1287, - "name": "onlyProver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1143, - "src": "2128:10:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2128:15:6" - } - ], - "name": "mintToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1286, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1285, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1327, - "src": "2106:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1284, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2106:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2105:13:6" - }, - "returnParameters": { - "id": 1290, - "nodeType": "ParameterList", - "parameters": [], - "src": "2144:0:6" - }, - "scope": 1411, - "src": "2087:340:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1344, - "nodeType": "Block", - "src": "2507:90:6", - "statements": [ - { - "assignments": [ - 1335 - ], - "declarations": [ - { - "constant": false, - "id": 1335, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1344, - "src": "2518:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1334, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2518:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1339, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1336, - "name": "_solutionsIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1126, - "src": "2534:15:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 1338, - "indexExpression": { - "argumentTypes": null, - "id": 1337, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1329, - "src": "2550:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2534:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2518:36:6" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1340, - "name": "_solutions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "2572:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Solution_$1119_storage_$dyn_storage", - "typeString": "struct KryptoRealStateZKP.Solution storage ref[] storage ref" - } - }, - "id": 1342, - "indexExpression": { - "argumentTypes": null, - "id": 1341, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1335, - "src": "2583:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2572:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Solution_$1119_storage", - "typeString": "struct KryptoRealStateZKP.Solution storage ref" - } - }, - "functionReturnParameters": 1333, - "id": 1343, - "nodeType": "Return", - "src": "2565:24:6" - } - ] - }, - "documentation": null, - "id": 1345, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_solution", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1330, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1329, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1345, - "src": "2454:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1328, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2454:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2453:13:6" - }, - "returnParameters": { - "id": 1333, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1332, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1345, - "src": "2490:15:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Solution_$1119_memory_ptr", - "typeString": "struct KryptoRealStateZKP.Solution" - }, - "typeName": { - "contractScope": null, - "id": 1331, - "name": "Solution", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1119, - "src": "2490:8:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Solution_$1119_storage_ptr", - "typeString": "struct KryptoRealStateZKP.Solution" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2489:17:6" - }, - "scope": 1411, - "src": "2435:162:6", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1358, - "nodeType": "Block", - "src": "2664:51:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1352, - "name": "_solutionsIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1126, - "src": "2682:15:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 1354, - "indexExpression": { - "argumentTypes": null, - "id": 1353, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1347, - "src": "2698:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2682:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2706:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2682:25:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1351, - "id": 1357, - "nodeType": "Return", - "src": "2675:32:6" - } - ] - }, - "documentation": null, - "id": 1359, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1347, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1359, - "src": "2622:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1346, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2622:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2621:13:6" - }, - "returnParameters": { - "id": 1351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1350, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1359, - "src": "2658:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1349, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2658:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2657:6:6" - }, - "scope": 1411, - "src": "2605:110:6", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1377, - "nodeType": "Block", - "src": "2770:99:6", - "statements": [ - { - "assignments": [ - 1365 - ], - "declarations": [ - { - "constant": false, - "id": 1365, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1377, - "src": "2781:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1364, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2781:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1369, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1366, - "name": "_solutionsIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1126, - "src": "2797:15:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 1368, - "indexExpression": { - "argumentTypes": null, - "id": 1367, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1361, - "src": "2813:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2797:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2781:36:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1370, - "name": "_solutions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "2828:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Solution_$1119_storage_$dyn_storage", - "typeString": "struct KryptoRealStateZKP.Solution storage ref[] storage ref" - } - }, - "id": 1372, - "indexExpression": { - "argumentTypes": null, - "id": 1371, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1365, - "src": "2839:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2828:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Solution_$1119_storage", - "typeString": "struct KryptoRealStateZKP.Solution storage ref" - } - }, - "id": 1373, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "redeemed", - "nodeType": "MemberAccess", - "referencedDeclaration": 1118, - "src": "2828:26:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1374, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2857:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2828:33:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1376, - "nodeType": "ExpressionStatement", - "src": "2828:33:6" - } - ] - }, - "documentation": null, - "id": 1378, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_redeemSolution", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1361, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1378, - "src": "2748:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1360, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2748:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2747:13:6" - }, - "returnParameters": { - "id": 1363, - "nodeType": "ParameterList", - "parameters": [], - "src": "2770:0:6" - }, - "scope": 1411, - "src": "2723:146:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1409, - "nodeType": "Block", - "src": "3063:65:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1403, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1382, - "src": "3105:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - { - "argumentTypes": null, - "id": 1404, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1388, - "src": "3108:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", - "typeString": "uint256[2] memory[2] memory" - } - }, - { - "argumentTypes": null, - "id": 1405, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1392, - "src": "3111:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - { - "argumentTypes": null, - "id": 1406, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1396, - "src": "3114:5:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", - "typeString": "uint256[2] memory[2] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 1401, - "name": "squareVerifier", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1112, - "src": "3081:14:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SquareVerifier_$6664", - "typeString": "contract SquareVerifier" - } - }, - "id": 1402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "verifyTx", - "nodeType": "MemberAccess", - "referencedDeclaration": 6663, - "src": "3081:23:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_array$_t_uint256_$2_memory_ptr_$_t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr_$_t_array$_t_uint256_$2_memory_ptr_$_t_array$_t_uint256_$2_memory_ptr_$returns$_t_bool_$", - "typeString": "function (uint256[2] memory,uint256[2] memory[2] memory,uint256[2] memory,uint256[2] memory) view external returns (bool)" - } - }, - "id": 1407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3081:39:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1400, - "id": 1408, - "nodeType": "Return", - "src": "3074:46:6" - } - ] - }, - "documentation": null, - "id": 1410, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isValidProof", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1397, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1382, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1410, - "src": "2910:19:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 1379, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2910:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1381, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2918:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "2910:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1388, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1410, - "src": "2940:22:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", - "typeString": "uint256[2][2]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 1383, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2940:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1385, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1384, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2948:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "2940:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "id": 1387, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2951:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "2940:13:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_storage_$2_storage_ptr", - "typeString": "uint256[2][2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1392, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1410, - "src": "2973:19:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 1389, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2973:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1391, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1390, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2981:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "2973:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1396, - "name": "input", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1410, - "src": "3003:23:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 1393, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3003:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1395, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1394, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3011:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "3003:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2899:134:6" - }, - "returnParameters": { - "id": 1400, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1399, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1410, - "src": "3057:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1398, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3057:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3056:6:6" - }, - "scope": 1411, - "src": "2877:251:6", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 1412, - "src": "144:2987:6" - } - ], - "src": "35:3098:6" - }, - "legacyAST": { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/KyptoRealStateZKP.sol", - "exportedSymbols": { - "KryptoRealStateZKP": [ - 1411 - ] - }, - "id": 1412, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1106, - "literals": [ - "solidity", - "0.6", - ".2" - ], - "nodeType": "PragmaDirective", - "src": "35:22:6" - }, - { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/token/KryptoRealState.sol", - "file": "./KryptoRealState.sol", - "id": 1107, - "nodeType": "ImportDirective", - "scope": 1412, - "sourceUnit": 1105, - "src": "61:31:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/C/Users/Diego/dev/blockchain/dapp-real-state/contracts/zokrates/code/square/verifier.sol", - "file": "../zokrates/code/square/verifier.sol", - "id": 1108, - "nodeType": "ImportDirective", - "scope": 1412, - "sourceUnit": 6665, - "src": "94:46:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1109, - "name": "KryptoRealState", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1104, - "src": "175:15:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_KryptoRealState_$1104", - "typeString": "contract KryptoRealState" - } - }, - "id": 1110, - "nodeType": "InheritanceSpecifier", - "src": "175:15:6" - } - ], - "contractDependencies": [ - 105, - 640, - 931, - 1062, - 1104, - 1486, - 1571 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1411, - "linearizedBaseContracts": [ - 1411, - 1104, - 1062, - 931, - 640, - 1571, - 1486, - 105 - ], - "name": "KryptoRealStateZKP", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 1112, - "name": "squareVerifier", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1411, - "src": "198:37:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SquareVerifier_$6664", - "typeString": "contract SquareVerifier" - }, - "typeName": { - "contractScope": null, - "id": 1111, - "name": "SquareVerifier", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6664, - "src": "198:14:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SquareVerifier_$6664", - "typeString": "contract SquareVerifier" - } - }, - "value": null, - "visibility": "private" - }, - { - "canonicalName": "KryptoRealStateZKP.Solution", - "id": 1119, - "members": [ - { - "constant": false, - "id": 1114, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1119, - "src": "271:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1113, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "271:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1116, - "name": "prover", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1119, - "src": "293:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1115, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "293:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1118, - "name": "redeemed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1119, - "src": "318:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1117, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "318:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Solution", - "nodeType": "StructDefinition", - "scope": 1411, - "src": "244:95:6", - "visibility": "public" - }, - { - "constant": false, - "id": 1122, - "name": "_solutions", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1411, - "src": "400:29:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Solution_$1119_storage_$dyn_storage", - "typeString": "struct KryptoRealStateZKP.Solution[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 1120, - "name": "Solution", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1119, - "src": "400:8:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Solution_$1119_storage_ptr", - "typeString": "struct KryptoRealStateZKP.Solution" - } - }, - "id": 1121, - "length": null, - "nodeType": "ArrayTypeName", - "src": "400:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Solution_$1119_storage_$dyn_storage_ptr", - "typeString": "struct KryptoRealStateZKP.Solution[]" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 1126, - "name": "_solutionsIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1411, - "src": "511:51:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 1125, - "keyType": { - "id": 1123, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "519:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "511:27:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueType": { - "id": 1124, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "530:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 1142, - "nodeType": "Block", - "src": "604:168:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1132, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1128, - "src": "647:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1131, - "name": "_solution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1345, - "src": "637:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_struct$_Solution_$1119_memory_ptr_$", - "typeString": "function (bytes32) view returns (struct KryptoRealStateZKP.Solution memory)" - } - }, - "id": 1133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "637:14:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Solution_$1119_memory_ptr", - "typeString": "struct KryptoRealStateZKP.Solution memory" - } - }, - "id": 1134, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prover", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "637:21:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1135, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "662:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "662:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "637:35:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4b727970746f5265616c53746174655a4b503a206f6e6c79207468652070726f7665722063616e206d696e74206120746f6b656e", - "id": 1138, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "687:54:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2ec1357c34109c8f7e918549cc6f475e2d94f28b87ae976501f9ecebce57b4da", - "typeString": "literal_string \"KryptoRealStateZKP: only the prover can mint a token\"" - }, - "value": "KryptoRealStateZKP: only the prover can mint a token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2ec1357c34109c8f7e918549cc6f475e2d94f28b87ae976501f9ecebce57b4da", - "typeString": "literal_string \"KryptoRealStateZKP: only the prover can mint a token\"" - } - ], - "id": 1130, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "615:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "615:137:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1140, - "nodeType": "ExpressionStatement", - "src": "615:137:6" - }, - { - "id": 1141, - "nodeType": "PlaceholderStatement", - "src": "763:1:6" - } - ] - }, - "documentation": null, - "id": 1143, - "name": "onlyProver", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 1129, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1128, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1143, - "src": "591:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1127, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "591:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "590:13:6" - }, - "src": "571:201:6", - "virtual": false, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 1149, - "name": "SolutionAdded", - "nodeType": "EventDefinition", - "parameters": { - "id": 1148, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1145, - "indexed": false, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1149, - "src": "800:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1144, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "800:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1147, - "indexed": true, - "name": "prover", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1149, - "src": "813:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1146, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "813:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "799:37:6" - }, - "src": "780:57:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 1157, - "name": "TokenMinted", - "nodeType": "EventDefinition", - "parameters": { - "id": 1156, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1151, - "indexed": false, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1157, - "src": "861:10:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1150, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "861:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1153, - "indexed": false, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1157, - "src": "873:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1152, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "873:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1155, - "indexed": false, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1157, - "src": "886:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1154, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "886:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "860:42:6" - }, - "src": "843:60:6" - }, - { - "body": { - "id": 1170, - "nodeType": "Block", - "src": "966:60:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1164, - "name": "squareVerifier", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1112, - "src": "977:14:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SquareVerifier_$6664", - "typeString": "contract SquareVerifier" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1166, - "name": "verifier", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1159, - "src": "1009:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1165, - "name": "SquareVerifier", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6664, - "src": "994:14:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SquareVerifier_$6664_$", - "typeString": "type(contract SquareVerifier)" - } - }, - "id": 1167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "994:24:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_SquareVerifier_$6664", - "typeString": "contract SquareVerifier" - } - }, - "src": "977:41:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SquareVerifier_$6664", - "typeString": "contract SquareVerifier" - } - }, - "id": 1169, - "nodeType": "ExpressionStatement", - "src": "977:41:6" - } - ] - }, - "documentation": null, - "id": 1171, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [], - "id": 1162, - "modifierName": { - "argumentTypes": null, - "id": 1161, - "name": "KryptoRealState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1104, - "src": "948:15:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_KryptoRealState_$1104_$", - "typeString": "type(contract KryptoRealState)" - } - }, - "nodeType": "ModifierInvocation", - "src": "948:17:6" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1160, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1159, - "name": "verifier", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1171, - "src": "923:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1158, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "923:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "922:18:6" - }, - "returnParameters": { - "id": 1163, - "nodeType": "ParameterList", - "parameters": [], - "src": "966:0:6" - }, - "scope": 1411, - "src": "911:115:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1282, - "nodeType": "Block", - "src": "1286:749:6", - "statements": [ - { - "assignments": [ - 1193 - ], - "declarations": [ - { - "constant": false, - "id": 1193, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1282, - "src": "1297:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1192, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1297:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1237, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1197, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1175, - "src": "1370:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - "id": 1199, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1198, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1372:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1370:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1200, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1175, - "src": "1393:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - "id": 1202, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1395:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1393:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1203, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1181, - "src": "1416:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_calldata_$2_calldata_ptr", - "typeString": "uint256[2] calldata[2] calldata" - } - }, - "id": 1205, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1418:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1416:4:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata", - "typeString": "uint256[2] calldata" - } - }, - "id": 1207, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1421:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1416:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1208, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1181, - "src": "1442:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_calldata_$2_calldata_ptr", - "typeString": "uint256[2] calldata[2] calldata" - } - }, - "id": 1210, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1209, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1444:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1442:4:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata", - "typeString": "uint256[2] calldata" - } - }, - "id": 1212, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1447:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1442:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1213, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1181, - "src": "1468:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_calldata_$2_calldata_ptr", - "typeString": "uint256[2] calldata[2] calldata" - } - }, - "id": 1215, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1214, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1470:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1468:4:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata", - "typeString": "uint256[2] calldata" - } - }, - "id": 1217, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1216, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1473:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1468:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1218, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1181, - "src": "1494:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_calldata_$2_calldata_ptr", - "typeString": "uint256[2] calldata[2] calldata" - } - }, - "id": 1220, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1219, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1496:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1494:4:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata", - "typeString": "uint256[2] calldata" - } - }, - "id": 1222, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1499:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1494:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1223, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1185, - "src": "1520:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - "id": 1225, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1522:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1520:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1226, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1185, - "src": "1543:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - "id": 1228, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1545:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1543:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1229, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1189, - "src": "1566:5:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - "id": 1231, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1572:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1566:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1232, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1189, - "src": "1593:5:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - "id": 1234, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1233, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1599:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1593:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1195, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1335:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 1196, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1335:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 1235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1335:281:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1194, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1311:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1311:316:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1297:330:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1646:13:6", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1240, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "1655:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1239, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1359, - 429 - ], - "referencedDeclaration": 1359, - "src": "1647:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1647:12:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4b727970746f5265616c53746174655a4b503a20736f6c7574696f6e2065786973747320616c7265616479", - "id": 1243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1661:45:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b616e1af47cd96c40ede12f60f0ceb058c620962c90e4f6fab99e21ab6708799", - "typeString": "literal_string \"KryptoRealStateZKP: solution exists already\"" - }, - "value": "KryptoRealStateZKP: solution exists already" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b616e1af47cd96c40ede12f60f0ceb058c620962c90e4f6fab99e21ab6708799", - "typeString": "literal_string \"KryptoRealStateZKP: solution exists already\"" - } - ], - "id": 1238, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1638:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1638:69:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1245, - "nodeType": "ExpressionStatement", - "src": "1638:69:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1248, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1175, - "src": "1756:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - { - "argumentTypes": null, - "id": 1249, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1181, - "src": "1759:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_calldata_$2_calldata_ptr", - "typeString": "uint256[2] calldata[2] calldata" - } - }, - { - "argumentTypes": null, - "id": 1250, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1185, - "src": "1762:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - { - "argumentTypes": null, - "id": 1251, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1189, - "src": "1765:5:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_calldata_$2_calldata_ptr", - "typeString": "uint256[2] calldata[2] calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - ], - "id": 1247, - "name": "_isValidProof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1410, - "src": "1742:13:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_uint256_$2_memory_ptr_$_t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr_$_t_array$_t_uint256_$2_memory_ptr_$_t_array$_t_uint256_$2_memory_ptr_$returns$_t_bool_$", - "typeString": "function (uint256[2] memory,uint256[2] memory[2] memory,uint256[2] memory,uint256[2] memory) view returns (bool)" - } - }, - "id": 1252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1742:29:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4b727970746f5265616c53746174655a4b503a20736f6c7574696f6e2070726f6f66206973202a6e6f742a2076616c696420666f722074686520696e707574", - "id": 1253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1786:65:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f4137c1f943bf4c3146f6118655d8b1dfa344baf0f853ce5f1e3aeaed004c56c", - "typeString": "literal_string \"KryptoRealStateZKP: solution proof is *not* valid for the input\"" - }, - "value": "KryptoRealStateZKP: solution proof is *not* valid for the input" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f4137c1f943bf4c3146f6118655d8b1dfa344baf0f853ce5f1e3aeaed004c56c", - "typeString": "literal_string \"KryptoRealStateZKP: solution proof is *not* valid for the input\"" - } - ], - "id": 1246, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1720:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1720:142:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1255, - "nodeType": "ExpressionStatement", - "src": "1720:142:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1260, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "1900:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1261, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1905:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1905:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1917:5:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1259, - "name": "Solution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1119, - "src": "1891:8:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Solution_$1119_storage_ptr_$", - "typeString": "type(struct KryptoRealStateZKP.Solution storage pointer)" - } - }, - "id": 1264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1891:32:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Solution_$1119_memory", - "typeString": "struct KryptoRealStateZKP.Solution memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Solution_$1119_memory", - "typeString": "struct KryptoRealStateZKP.Solution memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 1256, - "name": "_solutions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "1875:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Solution_$1119_storage_$dyn_storage", - "typeString": "struct KryptoRealStateZKP.Solution storage ref[] storage ref" - } - }, - "id": 1258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1875:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Solution_$1119_storage_$returns$__$", - "typeString": "function (struct KryptoRealStateZKP.Solution storage ref)" - } - }, - "id": 1265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1875:49:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1266, - "nodeType": "ExpressionStatement", - "src": "1875:49:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1267, - "name": "_solutionsIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1126, - "src": "1935:15:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 1269, - "indexExpression": { - "argumentTypes": null, - "id": 1268, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "1951:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1935:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1270, - "name": "_solutions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "1958:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Solution_$1119_storage_$dyn_storage", - "typeString": "struct KryptoRealStateZKP.Solution storage ref[] storage ref" - } - }, - "id": 1271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1958:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1272, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1978:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1958:21:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1935:44:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1275, - "nodeType": "ExpressionStatement", - "src": "1935:44:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1277, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1193, - "src": "2011:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1278, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2016:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2016:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 1276, - "name": "SolutionAdded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1149, - "src": "1997:13:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 1280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1997:30:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1281, - "nodeType": "EmitStatement", - "src": "1992:35:6" - } - ] - }, - "documentation": "@dev Submit a candidate solution for verification.", - "functionSelector": "2c181d25", - "id": 1283, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "submitSolution", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1190, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1175, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1283, - "src": "1145:21:6", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 1172, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1145:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1174, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1153:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "1145:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1181, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1283, - "src": "1177:24:6", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_calldata_$2_calldata_ptr", - "typeString": "uint256[2][2]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 1176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1177:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1178, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1185:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "1177:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "id": 1180, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1179, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1188:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "1177:13:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_storage_$2_storage_ptr", - "typeString": "uint256[2][2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1185, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1283, - "src": "1212:21:6", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 1182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1212:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1184, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1220:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "1212:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1189, - "name": "input", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1283, - "src": "1244:25:6", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 1186, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1244:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1188, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1252:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "1244:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1134:142:6" - }, - "returnParameters": { - "id": 1191, - "nodeType": "ParameterList", - "parameters": [], - "src": "1286:0:6" - }, - "scope": 1411, - "src": "1111:924:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1326, - "nodeType": "Block", - "src": "2144:283:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2177:26:6", - "subExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1293, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1285, - "src": "2189:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1292, - "name": "_solution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1345, - "src": "2179:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_struct$_Solution_$1119_memory_ptr_$", - "typeString": "function (bytes32) view returns (struct KryptoRealStateZKP.Solution memory)" - } - }, - "id": 1294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2179:14:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Solution_$1119_memory_ptr", - "typeString": "struct KryptoRealStateZKP.Solution memory" - } - }, - "id": 1295, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "redeemed", - "nodeType": "MemberAccess", - "referencedDeclaration": 1118, - "src": "2179:23:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 1296, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2178:25:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4b727970746f5265616c53746174655a4b503a20736f6c7574696f6e20686173206265656e207573656420616c7265616479", - "id": 1298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2218:52:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a811e9900e611191fd54bec4a6a5e0ddb58cae88be4fe5eacfbbccf6a81bb795", - "typeString": "literal_string \"KryptoRealStateZKP: solution has been used already\"" - }, - "value": "KryptoRealStateZKP: solution has been used already" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a811e9900e611191fd54bec4a6a5e0ddb58cae88be4fe5eacfbbccf6a81bb795", - "typeString": "literal_string \"KryptoRealStateZKP: solution has been used already\"" - } - ], - "id": 1291, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2155:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2155:126:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1300, - "nodeType": "ExpressionStatement", - "src": "2155:126:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1302, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1285, - "src": "2310:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1301, - "name": "_redeemSolution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "2294:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 1303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2294:20:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1304, - "nodeType": "ExpressionStatement", - "src": "2294:20:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1308, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2336:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2336:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1312, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1285, - "src": "2356:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2348:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 1310, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2348:7:6", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2348:12:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1305, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2325:5:6", - "typeDescriptions": { - "typeIdentifier": "t_super$_KryptoRealStateZKP_$1411", - "typeString": "contract super KryptoRealStateZKP" - } - }, - "id": 1307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 1103, - "src": "2325:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2325:36:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1315, - "nodeType": "ExpressionStatement", - "src": "2325:36:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1317, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2389:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2389:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1319, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1285, - "src": "2401:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1322, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1285, - "src": "2414:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1321, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2406:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 1320, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2406:7:6", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2406:12:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1316, - "name": "TokenMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1157, - "src": "2377:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (address,bytes32,uint256)" - } - }, - "id": 1324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2377:42:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1325, - "nodeType": "EmitStatement", - "src": "2372:47:6" - } - ] - }, - "documentation": "@dev Mints token.", - "functionSelector": "a521ad7c", - "id": 1327, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 1288, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1285, - "src": "2139:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 1289, - "modifierName": { - "argumentTypes": null, - "id": 1287, - "name": "onlyProver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1143, - "src": "2128:10:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_bytes32_$", - "typeString": "modifier (bytes32)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2128:15:6" - } - ], - "name": "mintToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1286, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1285, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1327, - "src": "2106:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1284, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2106:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2105:13:6" - }, - "returnParameters": { - "id": 1290, - "nodeType": "ParameterList", - "parameters": [], - "src": "2144:0:6" - }, - "scope": 1411, - "src": "2087:340:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1344, - "nodeType": "Block", - "src": "2507:90:6", - "statements": [ - { - "assignments": [ - 1335 - ], - "declarations": [ - { - "constant": false, - "id": 1335, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1344, - "src": "2518:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1334, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2518:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1339, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1336, - "name": "_solutionsIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1126, - "src": "2534:15:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 1338, - "indexExpression": { - "argumentTypes": null, - "id": 1337, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1329, - "src": "2550:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2534:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2518:36:6" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1340, - "name": "_solutions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "2572:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Solution_$1119_storage_$dyn_storage", - "typeString": "struct KryptoRealStateZKP.Solution storage ref[] storage ref" - } - }, - "id": 1342, - "indexExpression": { - "argumentTypes": null, - "id": 1341, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1335, - "src": "2583:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2572:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Solution_$1119_storage", - "typeString": "struct KryptoRealStateZKP.Solution storage ref" - } - }, - "functionReturnParameters": 1333, - "id": 1343, - "nodeType": "Return", - "src": "2565:24:6" - } - ] - }, - "documentation": null, - "id": 1345, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_solution", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1330, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1329, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1345, - "src": "2454:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1328, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2454:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2453:13:6" - }, - "returnParameters": { - "id": 1333, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1332, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1345, - "src": "2490:15:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Solution_$1119_memory_ptr", - "typeString": "struct KryptoRealStateZKP.Solution" - }, - "typeName": { - "contractScope": null, - "id": 1331, - "name": "Solution", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1119, - "src": "2490:8:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Solution_$1119_storage_ptr", - "typeString": "struct KryptoRealStateZKP.Solution" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2489:17:6" - }, - "scope": 1411, - "src": "2435:162:6", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1358, - "nodeType": "Block", - "src": "2664:51:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1352, - "name": "_solutionsIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1126, - "src": "2682:15:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 1354, - "indexExpression": { - "argumentTypes": null, - "id": 1353, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1347, - "src": "2698:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2682:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2706:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2682:25:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1351, - "id": 1357, - "nodeType": "Return", - "src": "2675:32:6" - } - ] - }, - "documentation": null, - "id": 1359, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1347, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1359, - "src": "2622:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1346, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2622:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2621:13:6" - }, - "returnParameters": { - "id": 1351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1350, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1359, - "src": "2658:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1349, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2658:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2657:6:6" - }, - "scope": 1411, - "src": "2605:110:6", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1377, - "nodeType": "Block", - "src": "2770:99:6", - "statements": [ - { - "assignments": [ - 1365 - ], - "declarations": [ - { - "constant": false, - "id": 1365, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1377, - "src": "2781:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1364, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2781:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1369, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1366, - "name": "_solutionsIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1126, - "src": "2797:15:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 1368, - "indexExpression": { - "argumentTypes": null, - "id": 1367, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1361, - "src": "2813:3:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2797:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2781:36:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1370, - "name": "_solutions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "2828:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Solution_$1119_storage_$dyn_storage", - "typeString": "struct KryptoRealStateZKP.Solution storage ref[] storage ref" - } - }, - "id": 1372, - "indexExpression": { - "argumentTypes": null, - "id": 1371, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1365, - "src": "2839:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2828:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Solution_$1119_storage", - "typeString": "struct KryptoRealStateZKP.Solution storage ref" - } - }, - "id": 1373, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "redeemed", - "nodeType": "MemberAccess", - "referencedDeclaration": 1118, - "src": "2828:26:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1374, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2857:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2828:33:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1376, - "nodeType": "ExpressionStatement", - "src": "2828:33:6" - } - ] - }, - "documentation": null, - "id": 1378, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_redeemSolution", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1361, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1378, - "src": "2748:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1360, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2748:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2747:13:6" - }, - "returnParameters": { - "id": 1363, - "nodeType": "ParameterList", - "parameters": [], - "src": "2770:0:6" - }, - "scope": 1411, - "src": "2723:146:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1409, - "nodeType": "Block", - "src": "3063:65:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1403, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1382, - "src": "3105:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - { - "argumentTypes": null, - "id": 1404, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1388, - "src": "3108:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", - "typeString": "uint256[2] memory[2] memory" - } - }, - { - "argumentTypes": null, - "id": 1405, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1392, - "src": "3111:1:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - }, - { - "argumentTypes": null, - "id": 1406, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1396, - "src": "3114:5:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", - "typeString": "uint256[2] memory[2] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2] memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 1401, - "name": "squareVerifier", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1112, - "src": "3081:14:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SquareVerifier_$6664", - "typeString": "contract SquareVerifier" - } - }, - "id": 1402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "verifyTx", - "nodeType": "MemberAccess", - "referencedDeclaration": 6663, - "src": "3081:23:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_array$_t_uint256_$2_memory_ptr_$_t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr_$_t_array$_t_uint256_$2_memory_ptr_$_t_array$_t_uint256_$2_memory_ptr_$returns$_t_bool_$", - "typeString": "function (uint256[2] memory,uint256[2] memory[2] memory,uint256[2] memory,uint256[2] memory) view external returns (bool)" - } - }, - "id": 1407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3081:39:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1400, - "id": 1408, - "nodeType": "Return", - "src": "3074:46:6" - } - ] - }, - "documentation": null, - "id": 1410, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isValidProof", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1397, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1382, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1410, - "src": "2910:19:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 1379, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2910:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1381, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2918:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "2910:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1388, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1410, - "src": "2940:22:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", - "typeString": "uint256[2][2]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 1383, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2940:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1385, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1384, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2948:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "2940:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "id": 1387, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2951:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "2940:13:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$2_storage_$2_storage_ptr", - "typeString": "uint256[2][2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1392, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1410, - "src": "2973:19:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 1389, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2973:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1391, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1390, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2981:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "2973:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1396, - "name": "input", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1410, - "src": "3003:23:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", - "typeString": "uint256[2]" - }, - "typeName": { - "baseType": { - "id": 1393, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3003:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1395, - "length": { - "argumentTypes": null, - "hexValue": "32", - "id": 1394, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3011:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "ArrayTypeName", - "src": "3003:10:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2899:134:6" - }, - "returnParameters": { - "id": 1400, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1399, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1410, - "src": "3057:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1398, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3057:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3056:6:6" - }, - "scope": 1411, - "src": "2877:251:6", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 1412, - "src": "144:2987:6" - } - ], - "src": "35:3098:6" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.2.0", - "updatedAt": "2020-08-30T17:17:19.442Z", - "devdoc": { - "methods": { - "approve(address,uint256)": { - "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * Requirements: * - The caller must own the token or be an approved operator. - `tokenId` must exist. * Emits an {Approval} event." - }, - "baseURI()": { - "details": "Returns the base URI set via {_setBaseURI}." - }, - "getApproved(uint256)": { - "details": "Returns the account approved for `tokenId` token." - }, - "isApprovedForAll(address,address)": { - "details": "Tells whether an operator is approved by a given owner", - "params": { - "operator": "operator address which you want to query the approval of", - "owner": "owner address which you want to query the approval of" - }, - "returns": { - "_0": "bool whether the given operator is approved by the given owner" - } - }, - "isPaused()": { - "details": "Returns true if the contract is paused." - }, - "mintToken(bytes32)": { - "details": "Mints token." - }, - "name()": { - "details": "Returns the token name." - }, - "owner()": { - "details": "Returns the address of the current owner." - }, - "pause()": { - "details": "Stops operational state." - }, - "resume()": { - "details": "Resumes operational state." - }, - "setApprovalForAll(address,bool)": { - "details": "Sets or unsets the approval of a given operator An operator is allowed to transfer all tokens of the sender on their behalf", - "params": { - "approved": "representing the status of the approval to be set", - "to": "operator address to set the approval" - } - }, - "submitSolution(uint256[2],uint256[2][2],uint256[2],uint256[2])": { - "details": "Submit a candidate solution for verification." - }, - "supportsInterface(bytes4)": { - "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]. * Time complexity O(1), guaranteed to always use less than 30 000 gas." - }, - "symbol()": { - "details": "Returns the token symbol." - }, - "tokenByIndex(uint256)": { - "details": "Gets the token ID at a given index of all the tokens in this contract Reverts if the index is greater or equal to the total number of tokens", - "params": { - "index": "uint256 representing the index to be accessed of the tokens list" - }, - "returns": { - "_0": "uint256 token ID at the given index of the tokens list" - } - }, - "tokenOfOwnerByIndex(address,uint256)": { - "details": "Gets the token ID at a given index of the tokens list of the requested owner", - "params": { - "index": "uint256 representing the index to be accessed of the requested tokens list", - "owner": "address owning the tokens list to be accessed" - }, - "returns": { - "_0": "uint256 token ID at the given index of the tokens list owned by the requested address" - } - }, - "tokenURI(uint256)": { - "details": "Returns an URI for a given token ID Throws if the token ID does not exist. It may return an empty string.", - "params": { - "tokenId": "uint256 ID of the token to query" - } - }, - "totalSupply()": { - "details": "Gets the total amount of tokens stored by the contract", - "returns": { - "_0": "uint256 representing the total amount of tokens" - } - }, - "transferOwnership(address)": { - "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file