8889841cintegrations/cookieyes/class-cookieyes.php000064400000003760150514563140015064 0ustar00init(); } /** * Initialize necessary variables to make an API call * * @return void */ public function init() { $settings = new Settings(); $this->api_key = $settings->get_token(); $this->website_id = $settings->get_website_id(); $this->add_header_argument( 'Content-Type', 'application/json' ); $this->add_header_argument( 'Accept', 'application/json' ); } /** * Get API URL. * * @param string $path Endpoint path. * * @return string */ public function get_api_url( $path = '' ) { if ( defined( 'self::API_BASE_PATH' ) && self::API_BASE_PATH ) { return self::API_BASE_PATH . $path; } } /** * Get API key. * * @return string */ protected function get_api_key() { return $this->api_key; } /** * Make a authenticated request by adding * * @return void */ protected function make_auth_request() { $api_key = $this->get_api_key(); if ( ! empty( $api_key ) ) { $this->add_header_argument( 'Authorization', 'Bearer ' . $api_key ); } } /** * Returns the website id * * @return integer */ protected function get_website_id() { return $this->website_id; } /** * Get the license info * * @return array */ protected function get_license() { return true; } } integrations/cookieyes/includes/class-cloud.php000064400000011551150514563140016003 0ustar00 405 ) ); } if ( true === $this->is_connected() ) { $cloud = true; } if ( is_callable( array( $this, $request ) ) ) { if ( false === $value ) { $data = $this->{$request}( $cloud ); } else { $data = $this->{$request}( $value, $cloud ); } if ( true === $return ) { return $data; } } } catch ( Exception $e ) { return new WP_Error( 'invalid-method', sprintf( __( 'Ivalid method.', 'cookie-law-info' ), __METHOD__ ), array( 'status' => 405 ) ); } } /** * Read data from the local database or cloud * * @since 3.0.0 * @param integer $id Id of the corresponding object. * @param boolean $cloud Decides whether to read data from cloud or local database. * @return WP_Error|WP_REST_Response Response object on success, or WP_Error object on failure. */ protected function read( $id, $cloud ) { // translators: %s: Class method name. return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass.", 'cookie-law-info' ), __METHOD__ ), array( 'status' => 405 ) ); } /** * Add data to the local database or from cloud * * @since 3.0.0 * @param integer $object Corresponding object. * @param boolean $cloud Decides whether to read data from cloud or local database. * @return WP_Error|WP_REST_Response Response object on success, or WP_Error object on failure. */ protected function create( $object, $cloud ) { // translators: %s: Class method name. return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass.", 'cookie-law-info' ), __METHOD__ ), array( 'status' => 405 ) ); } /** * Delete data from the local database or from cloud * * @since 3.0.0 * @param integer $id Id of the corresponding object. * @param boolean $cloud Decides whether to read data from cloud or local database. * @return WP_Error|WP_REST_Response Response object on success, or WP_Error object on failure. */ protected function update( $id, $cloud ) { // translators: %s: Class method name. return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass.", 'cookie-law-info' ), __METHOD__ ), array( 'status' => 405 ) ); } /** * Add data to the local database or from cloud * * @since 3.0.0 * @param integer $object Corresponding object. * @param boolean $cloud Decides whether to read data from cloud or local database. * @return WP_Error|WP_REST_Response Response object on success, or WP_Error object on failure. */ protected function remove( $object, $cloud ) { // translators: %s: Class method name. return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass.", 'cookie-law-info' ), __METHOD__ ), array( 'status' => 405 ) ); } /** * Get template of a banner, only supported for Banner class * * @since 3.0.0 * @param object $object Object of the corresponding class. * @param boolean $cloud Decides whether to read data from cloud or local database. * @return WP_Error|WP_REST_Response Response object on success, or WP_Error object on failure. */ protected function get_template( $object, $cloud ) { // translators: %s: Class method name. return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass.", 'cookie-law-info' ), __METHOD__ ), array( 'status' => 405 ) ); } /** * Check if the plugin is connected to the web app. * * @return boolean */ public function is_connected() { $settings = new Settings(); return $settings->is_connected(); } } admin/build.js000064400000001361150514563140007276 0ustar00const fs = require('fs-extra') const path = require("path"); const source = path.resolve( __dirname, '../..' ); const target = path.resolve( __dirname, '../../../build/cookie-law-info' ); async function build() { await copyFiles(); await deleteFiles(); } async function copyFiles() { try { await fs.copy(source, target); } catch (err) { console.error(err) } } async function deleteFiles() { try { await fs.remove(`${target}/lite/admin/node_modules`) await fs.remove(`${target}/lite/admin/src`) await fs.remove(`${target}/.git`) await fs.remove(`${target}/.gitignore`) console.log('success!') } catch (err) { console.error(err) } } build();admin/yarn.lock000064400001442532150514563140007476 0ustar00# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== dependencies: "@babel/highlight" "^7.16.7" "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.4", "@babel/compat-data@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.8.tgz#31560f9f29fdf1868de8cb55049538a1b9732a60" integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q== "@babel/core@^7.11.0": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.7.tgz#db990f931f6d40cb9b87a0dc7d2adc749f1dcbcf" integrity sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA== dependencies: "@babel/code-frame" "^7.16.7" "@babel/generator" "^7.16.7" "@babel/helper-compilation-targets" "^7.16.7" "@babel/helper-module-transforms" "^7.16.7" "@babel/helpers" "^7.16.7" "@babel/parser" "^7.16.7" "@babel/template" "^7.16.7" "@babel/traverse" "^7.16.7" "@babel/types" "^7.16.7" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.1.2" semver "^6.3.0" source-map "^0.5.0" "@babel/generator@^7.16.7", "@babel/generator@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe" integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw== dependencies: "@babel/types" "^7.16.8" jsesc "^2.5.1" source-map "^0.5.0" "@babel/helper-annotate-as-pure@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== dependencies: "@babel/types" "^7.16.7" "@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b" integrity sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA== dependencies: "@babel/helper-explode-assignable-expression" "^7.16.7" "@babel/types" "^7.16.7" "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.9.6": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== dependencies: "@babel/compat-data" "^7.16.4" "@babel/helper-validator-option" "^7.16.7" browserslist "^4.17.5" semver "^6.3.0" "@babel/helper-create-class-features-plugin@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz#9c5b34b53a01f2097daf10678d65135c1b9f84ba" integrity sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw== dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" "@babel/helper-environment-visitor" "^7.16.7" "@babel/helper-function-name" "^7.16.7" "@babel/helper-member-expression-to-functions" "^7.16.7" "@babel/helper-optimise-call-expression" "^7.16.7" "@babel/helper-replace-supers" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" "@babel/helper-create-regexp-features-plugin@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz#0cb82b9bac358eb73bfbd73985a776bfa6b14d48" integrity sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g== dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" regexpu-core "^4.7.1" "@babel/helper-define-polyfill-provider@^0.3.0": version "0.3.0" resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz#c5b10cf4b324ff840140bb07e05b8564af2ae971" integrity sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg== dependencies: "@babel/helper-compilation-targets" "^7.13.0" "@babel/helper-module-imports" "^7.12.13" "@babel/helper-plugin-utils" "^7.13.0" "@babel/traverse" "^7.13.0" debug "^4.1.1" lodash.debounce "^4.0.8" resolve "^1.14.2" semver "^6.1.2" "@babel/helper-environment-visitor@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== dependencies: "@babel/types" "^7.16.7" "@babel/helper-explode-assignable-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a" integrity sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ== dependencies: "@babel/types" "^7.16.7" "@babel/helper-function-name@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== dependencies: "@babel/helper-get-function-arity" "^7.16.7" "@babel/template" "^7.16.7" "@babel/types" "^7.16.7" "@babel/helper-get-function-arity@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== dependencies: "@babel/types" "^7.16.7" "@babel/helper-hoist-variables@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== dependencies: "@babel/types" "^7.16.7" "@babel/helper-member-expression-to-functions@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz#42b9ca4b2b200123c3b7e726b0ae5153924905b0" integrity sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q== dependencies: "@babel/types" "^7.16.7" "@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.8.3": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== dependencies: "@babel/types" "^7.16.7" "@babel/helper-module-transforms@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz#7665faeb721a01ca5327ddc6bba15a5cb34b6a41" integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng== dependencies: "@babel/helper-environment-visitor" "^7.16.7" "@babel/helper-module-imports" "^7.16.7" "@babel/helper-simple-access" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" "@babel/helper-validator-identifier" "^7.16.7" "@babel/template" "^7.16.7" "@babel/traverse" "^7.16.7" "@babel/types" "^7.16.7" "@babel/helper-optimise-call-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w== dependencies: "@babel/types" "^7.16.7" "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== "@babel/helper-remap-async-to-generator@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw== dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" "@babel/helper-wrap-function" "^7.16.8" "@babel/types" "^7.16.8" "@babel/helper-replace-supers@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz#e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1" integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw== dependencies: "@babel/helper-environment-visitor" "^7.16.7" "@babel/helper-member-expression-to-functions" "^7.16.7" "@babel/helper-optimise-call-expression" "^7.16.7" "@babel/traverse" "^7.16.7" "@babel/types" "^7.16.7" "@babel/helper-simple-access@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7" integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g== dependencies: "@babel/types" "^7.16.7" "@babel/helper-skip-transparent-expression-wrappers@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== dependencies: "@babel/types" "^7.16.0" "@babel/helper-split-export-declaration@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== dependencies: "@babel/types" "^7.16.7" "@babel/helper-validator-identifier@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== "@babel/helper-validator-option@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== "@babel/helper-wrap-function@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200" integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw== dependencies: "@babel/helper-function-name" "^7.16.7" "@babel/template" "^7.16.7" "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" "@babel/helpers@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.7.tgz#7e3504d708d50344112767c3542fc5e357fffefc" integrity sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw== dependencies: "@babel/template" "^7.16.7" "@babel/traverse" "^7.16.7" "@babel/types" "^7.16.7" "@babel/highlight@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.7.tgz#81a01d7d675046f0d96f82450d9d9578bdfd6b0b" integrity sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw== dependencies: "@babel/helper-validator-identifier" "^7.16.7" chalk "^2.0.0" js-tokens "^4.0.0" "@babel/parser@^7.16.7", "@babel/parser@^7.16.8", "@babel/parser@^7.7.0": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.8.tgz#61c243a3875f7d0b0962b0543a33ece6ff2f1f17" integrity sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" integrity sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz#cc001234dfc139ac45f6bcf801866198c8c72ff9" integrity sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-proposal-optional-chaining" "^7.16.7" "@babel/plugin-proposal-async-generator-functions@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz#3bdd1ebbe620804ea9416706cd67d60787504bc8" integrity sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-remap-async-to-generator" "^7.16.8" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-proposal-class-properties@^7.16.7", "@babel/plugin-proposal-class-properties@^7.8.3": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww== dependencies: "@babel/helper-create-class-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-proposal-class-static-block@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz#712357570b612106ef5426d13dc433ce0f200c2a" integrity sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw== dependencies: "@babel/helper-create-class-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-proposal-decorators@^7.8.3": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.7.tgz#922907d2e3e327f5b07d2246bcfc0bd438f360d2" integrity sha512-DoEpnuXK14XV9btI1k8tzNGCutMclpj4yru8aXKoHlVmbO1s+2A+g2+h4JhcjrxkFJqzbymnLG6j/niOf3iFXQ== dependencies: "@babel/helper-create-class-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-decorators" "^7.16.7" "@babel/plugin-proposal-dynamic-import@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-proposal-export-namespace-from@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz#09de09df18445a5786a305681423ae63507a6163" integrity sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-proposal-json-strings@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz#9732cb1d17d9a2626a08c5be25186c195b6fa6e8" integrity sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-proposal-logical-assignment-operators@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz#be23c0ba74deec1922e639832904be0bea73cdea" integrity sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99" integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" "@babel/plugin-proposal-numeric-separator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-proposal-object-rest-spread@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz#94593ef1ddf37021a25bdcb5754c4a8d534b01d8" integrity sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA== dependencies: "@babel/compat-data" "^7.16.4" "@babel/helper-compilation-targets" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-transform-parameters" "^7.16.7" "@babel/plugin-proposal-optional-catch-binding@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-proposal-optional-chaining@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz#7cd629564724816c0e8a969535551f943c64c39a" integrity sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-proposal-private-methods@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz#e418e3aa6f86edd6d327ce84eff188e479f571e0" integrity sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw== dependencies: "@babel/helper-create-class-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-proposal-private-property-in-object@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz#b0b8cef543c2c3d57e59e2c611994861d46a3fce" integrity sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ== dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" "@babel/helper-create-class-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz#635d18eb10c6214210ffc5ff4932552de08188a2" integrity sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-class-properties@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-class-static-block@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-decorators@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.7.tgz#f66a0199f16de7c1ef5192160ccf5d069739e3d3" integrity sha512-vQ+PxL+srA7g6Rx6I1e15m55gftknl2X8GCUW1JTlkTaXZLJOS0UcaY0eK9jYT7IYf4awn6qwyghVHLDz1WyMw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-export-namespace-from@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== dependencies: "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.2.0", "@babel/plugin-syntax-jsx@^7.8.3": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz#50b6571d13f764266a113d77c82b4a6508bbe665" integrity sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-numeric-separator@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-chaining@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-private-property-in-object@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-top-level-await@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-arrow-functions@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154" integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-async-to-generator@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808" integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg== dependencies: "@babel/helper-module-imports" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-remap-async-to-generator" "^7.16.8" "@babel/plugin-transform-block-scoped-functions@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-block-scoping@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87" integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-classes@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00" integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ== dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" "@babel/helper-environment-visitor" "^7.16.7" "@babel/helper-function-name" "^7.16.7" "@babel/helper-optimise-call-expression" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-replace-supers" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470" integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-destructuring@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz#ca9588ae2d63978a4c29d3f33282d8603f618e23" integrity sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-duplicate-keys@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz#2207e9ca8f82a0d36a5a67b6536e7ef8b08823c9" integrity sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-exponentiation-operator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA== dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-for-of@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c" integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-function-name@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA== dependencies: "@babel/helper-compilation-targets" "^7.16.7" "@babel/helper-function-name" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1" integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-member-expression-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-modules-amd@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz#b28d323016a7daaae8609781d1f8c9da42b13186" integrity sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g== dependencies: "@babel/helper-module-transforms" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-commonjs@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz#cdee19aae887b16b9d331009aa9a219af7c86afe" integrity sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA== dependencies: "@babel/helper-module-transforms" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-simple-access" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-systemjs@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz#887cefaef88e684d29558c2b13ee0563e287c2d7" integrity sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw== dependencies: "@babel/helper-hoist-variables" "^7.16.7" "@babel/helper-module-transforms" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-validator-identifier" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-umd@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz#23dad479fa585283dbd22215bff12719171e7618" integrity sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ== dependencies: "@babel/helper-module-transforms" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-named-capturing-groups-regex@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz#7f860e0e40d844a02c9dcf9d84965e7dfd666252" integrity sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/plugin-transform-new-target@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz#9967d89a5c243818e0800fdad89db22c5f514244" integrity sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-object-super@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-replace-supers" "^7.16.7" "@babel/plugin-transform-parameters@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-property-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-regenerator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz#9e7576dc476cb89ccc5096fff7af659243b4adeb" integrity sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q== dependencies: regenerator-transform "^0.14.2" "@babel/plugin-transform-reserved-words@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz#1d798e078f7c5958eec952059c460b220a63f586" integrity sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-runtime@^7.11.0": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.8.tgz#3339368701103edae708f0fba9e4bfb70a3e5872" integrity sha512-6Kg2XHPFnIarNweZxmzbgYnnWsXxkx9WQUVk2sksBRL80lBC1RAQV3wQagWxdCHiYHqPN+oenwNIuttlYgIbQQ== dependencies: "@babel/helper-module-imports" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" babel-plugin-polyfill-corejs2 "^0.3.0" babel-plugin-polyfill-corejs3 "^0.5.0" babel-plugin-polyfill-regenerator "^0.3.0" semver "^6.3.0" "@babel/plugin-transform-shorthand-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-spread@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-transform-sticky-regex@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660" integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-template-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab" integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-typeof-symbol@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz#9cdbe622582c21368bd482b660ba87d5545d4f7e" integrity sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-unicode-escapes@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3" integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-unicode-regex@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2" integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/preset-env@^7.11.0": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.8.tgz#e682fa0bcd1cf49621d64a8956318ddfb9a05af9" integrity sha512-9rNKgVCdwHb3z1IlbMyft6yIXIeP3xz6vWvGaLHrJThuEIqWfHb0DNBH9VuTgnDfdbUDhkmkvMZS/YMCtP7Elg== dependencies: "@babel/compat-data" "^7.16.8" "@babel/helper-compilation-targets" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-validator-option" "^7.16.7" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7" "@babel/plugin-proposal-async-generator-functions" "^7.16.8" "@babel/plugin-proposal-class-properties" "^7.16.7" "@babel/plugin-proposal-class-static-block" "^7.16.7" "@babel/plugin-proposal-dynamic-import" "^7.16.7" "@babel/plugin-proposal-export-namespace-from" "^7.16.7" "@babel/plugin-proposal-json-strings" "^7.16.7" "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7" "@babel/plugin-proposal-numeric-separator" "^7.16.7" "@babel/plugin-proposal-object-rest-spread" "^7.16.7" "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" "@babel/plugin-proposal-optional-chaining" "^7.16.7" "@babel/plugin-proposal-private-methods" "^7.16.7" "@babel/plugin-proposal-private-property-in-object" "^7.16.7" "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" "@babel/plugin-transform-arrow-functions" "^7.16.7" "@babel/plugin-transform-async-to-generator" "^7.16.8" "@babel/plugin-transform-block-scoped-functions" "^7.16.7" "@babel/plugin-transform-block-scoping" "^7.16.7" "@babel/plugin-transform-classes" "^7.16.7" "@babel/plugin-transform-computed-properties" "^7.16.7" "@babel/plugin-transform-destructuring" "^7.16.7" "@babel/plugin-transform-dotall-regex" "^7.16.7" "@babel/plugin-transform-duplicate-keys" "^7.16.7" "@babel/plugin-transform-exponentiation-operator" "^7.16.7" "@babel/plugin-transform-for-of" "^7.16.7" "@babel/plugin-transform-function-name" "^7.16.7" "@babel/plugin-transform-literals" "^7.16.7" "@babel/plugin-transform-member-expression-literals" "^7.16.7" "@babel/plugin-transform-modules-amd" "^7.16.7" "@babel/plugin-transform-modules-commonjs" "^7.16.8" "@babel/plugin-transform-modules-systemjs" "^7.16.7" "@babel/plugin-transform-modules-umd" "^7.16.7" "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.8" "@babel/plugin-transform-new-target" "^7.16.7" "@babel/plugin-transform-object-super" "^7.16.7" "@babel/plugin-transform-parameters" "^7.16.7" "@babel/plugin-transform-property-literals" "^7.16.7" "@babel/plugin-transform-regenerator" "^7.16.7" "@babel/plugin-transform-reserved-words" "^7.16.7" "@babel/plugin-transform-shorthand-properties" "^7.16.7" "@babel/plugin-transform-spread" "^7.16.7" "@babel/plugin-transform-sticky-regex" "^7.16.7" "@babel/plugin-transform-template-literals" "^7.16.7" "@babel/plugin-transform-typeof-symbol" "^7.16.7" "@babel/plugin-transform-unicode-escapes" "^7.16.7" "@babel/plugin-transform-unicode-regex" "^7.16.7" "@babel/preset-modules" "^0.1.5" "@babel/types" "^7.16.8" babel-plugin-polyfill-corejs2 "^0.3.0" babel-plugin-polyfill-corejs3 "^0.5.0" babel-plugin-polyfill-regenerator "^0.3.0" core-js-compat "^3.20.2" semver "^6.3.0" "@babel/preset-modules@^0.1.5": version "0.1.5" resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== dependencies: "@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/runtime@^7.11.0", "@babel/runtime@^7.16.0", "@babel/runtime@^7.8.4": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa" integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ== dependencies: regenerator-runtime "^0.13.4" "@babel/template@^7.0.0", "@babel/template@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== dependencies: "@babel/code-frame" "^7.16.7" "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" "@babel/traverse@^7.0.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.7.0": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.8.tgz#bab2f2b09a5fe8a8d9cad22cbfe3ba1d126fef9c" integrity sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ== dependencies: "@babel/code-frame" "^7.16.7" "@babel/generator" "^7.16.8" "@babel/helper-environment-visitor" "^7.16.7" "@babel/helper-function-name" "^7.16.7" "@babel/helper-hoist-variables" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" "@babel/parser" "^7.16.8" "@babel/types" "^7.16.8" debug "^4.1.0" globals "^11.1.0" "@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.4.4", "@babel/types@^7.7.0": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1" integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg== dependencies: "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" "@discoveryjs/json-ext@^0.5.0": version "0.5.7" resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== "@hapi/address@2.x.x": version "2.1.4" resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" integrity sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ== "@hapi/bourne@1.x.x": version "1.3.2" resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA== "@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": version "8.5.1" resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06" integrity sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow== "@hapi/joi@^15.0.1": version "15.1.1" resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ== dependencies: "@hapi/address" "2.x.x" "@hapi/bourne" "1.x.x" "@hapi/hoek" "8.x.x" "@hapi/topo" "3.x.x" "@hapi/topo@3.x.x": version "3.1.6" resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ== dependencies: "@hapi/hoek" "^8.3.0" "@intervolga/optimize-cssnano-plugin@^1.0.5": version "1.0.6" resolved "https://registry.yarnpkg.com/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz#be7c7846128b88f6a9b1d1261a0ad06eb5c0fdf8" integrity sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA== dependencies: cssnano "^4.0.0" cssnano-preset-default "^4.0.0" postcss "^7.0.0" "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== dependencies: call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" "@nodelib/fs.stat@^1.1.2": version "1.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== "@popperjs/core@^2.11.5": version "2.11.5" resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.5.tgz#db5a11bf66bdab39569719555b0f76e138d7bd64" integrity sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw== "@soda/friendly-errors-webpack-plugin@^1.7.1": version "1.8.1" resolved "https://registry.yarnpkg.com/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz#4d4fbb1108993aaa362116247c3d18188a2c6c85" integrity sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg== dependencies: chalk "^3.0.0" error-stack-parser "^2.0.6" string-width "^4.2.3" strip-ansi "^6.0.1" "@soda/get-current-script@^1.0.0": version "1.0.2" resolved "https://registry.yarnpkg.com/@soda/get-current-script/-/get-current-script-1.0.2.tgz#a53515db25d8038374381b73af20bb4f2e508d87" integrity sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w== "@tannin/compile@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@tannin/compile/-/compile-1.1.0.tgz#1e4d1c5364cbfeffa1c20352c053e19ef20ffe93" integrity sha512-n8m9eNDfoNZoxdvWiTfW/hSPhehzLJ3zW7f8E7oT6mCROoMNWCB4TYtv041+2FMAxweiE0j7i1jubQU4MEC/Gg== dependencies: "@tannin/evaluate" "^1.2.0" "@tannin/postfix" "^1.1.0" "@tannin/evaluate@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@tannin/evaluate/-/evaluate-1.2.0.tgz#468a13c45eff45340108836fc46c708457199c3f" integrity sha512-3ioXvNowbO/wSrxsDG5DKIMxC81P0QrQTYai8zFNY+umuoHWRPbQ/TuuDEOju9E+jQDXmj6yI5GyejNuh8I+eg== "@tannin/plural-forms@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@tannin/plural-forms/-/plural-forms-1.1.0.tgz#cffbb060d2640a56a314e3c77cbf6ea6072b51d5" integrity sha512-xl9R2mDZO/qiHam1AgMnAES6IKIg7OBhcXqy6eDsRCdXuxAFPcjrej9HMjyCLE0DJ/8cHf0i5OQTstuBRhpbHw== dependencies: "@tannin/compile" "^1.1.0" "@tannin/postfix@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@tannin/postfix/-/postfix-1.1.0.tgz#6071f4204ae26c2e885cf3a3f1203a9f71e3f291" integrity sha512-oocsqY7g0cR+Gur5jRQLSrX2OtpMLMse1I10JQBm8CdGMrDkh1Mg2gjsiquMHRtBs4Qwu5wgEp5GgIYHk4SNPw== "@types/body-parser@*": version "1.19.2" resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== dependencies: "@types/connect" "*" "@types/node" "*" "@types/connect-history-api-fallback@*": version "1.3.5" resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz#d1f7a8a09d0ed5a57aee5ae9c18ab9b803205dae" integrity sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw== dependencies: "@types/express-serve-static-core" "*" "@types/node" "*" "@types/connect@*": version "3.4.35" resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== dependencies: "@types/node" "*" "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": version "4.17.28" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" integrity sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" "@types/express@*": version "4.17.13" resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.18" "@types/qs" "*" "@types/serve-static" "*" "@types/glob@^7.1.1": version "7.2.0" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== dependencies: "@types/minimatch" "*" "@types/node" "*" "@types/http-proxy@^1.17.5": version "1.17.8" resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.8.tgz#968c66903e7e42b483608030ee85800f22d03f55" integrity sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA== dependencies: "@types/node" "*" "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8": version "7.0.9" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== "@types/mime@^1": version "1.3.2" resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== "@types/minimatch@*": version "3.0.5" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== "@types/minimist@^1.2.0": version "1.2.2" resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== "@types/node@*": version "17.0.8" resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.8.tgz#50d680c8a8a78fe30abe6906453b21ad8ab0ad7b" integrity sha512-YofkM6fGv4gDJq78g4j0mMuGMkZVxZDgtU0JRdx6FgiJDG+0fY0GKVolOV8WqVmEhLCXkQRjwDdKyPxJp/uucg== "@types/normalize-package-data@^2.4.0": version "2.4.1" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== "@types/q@^1.5.1": version "1.5.5" resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.5.tgz#75a2a8e7d8ab4b230414505d92335d1dcb53a6df" integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ== "@types/qs@*": version "6.9.7" resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== "@types/range-parser@*": version "1.2.4" resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== "@types/serve-static@*": version "1.13.10" resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== dependencies: "@types/mime" "^1" "@types/node" "*" "@types/source-list-map@*": version "0.1.2" resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== "@types/tapable@^1": version "1.0.8" resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== "@types/uglify-js@*": version "3.13.1" resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.1.tgz#5e889e9e81e94245c75b6450600e1c5ea2878aea" integrity sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ== dependencies: source-map "^0.6.1" "@types/webpack-dev-server@^3.11.0": version "3.11.6" resolved "https://registry.yarnpkg.com/@types/webpack-dev-server/-/webpack-dev-server-3.11.6.tgz#d8888cfd2f0630203e13d3ed7833a4d11b8a34dc" integrity sha512-XCph0RiiqFGetukCTC3KVnY1jwLcZ84illFRMbyFzCcWl90B/76ew0tSqF46oBhnLC4obNDG7dMO0JfTN0MgMQ== dependencies: "@types/connect-history-api-fallback" "*" "@types/express" "*" "@types/serve-static" "*" "@types/webpack" "^4" http-proxy-middleware "^1.0.0" "@types/webpack-sources@*": version "3.2.0" resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.0.tgz#16d759ba096c289034b26553d2df1bf45248d38b" integrity sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg== dependencies: "@types/node" "*" "@types/source-list-map" "*" source-map "^0.7.3" "@types/webpack@^4", "@types/webpack@^4.0.0": version "4.41.32" resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.32.tgz#a7bab03b72904070162b2f169415492209e94212" integrity sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg== dependencies: "@types/node" "*" "@types/tapable" "^1" "@types/uglify-js" "*" "@types/webpack-sources" "*" anymatch "^3.0.0" source-map "^0.6.0" "@vue/babel-helper-vue-jsx-merge-props@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz#31624a7a505fb14da1d58023725a4c5f270e6a81" integrity sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA== "@vue/babel-helper-vue-transform-on@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz#9b9c691cd06fc855221a2475c3cc831d774bc7dc" integrity sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA== "@vue/babel-plugin-jsx@^1.0.3": version "1.1.1" resolved "https://registry.yarnpkg.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz#0c5bac27880d23f89894cd036a37b55ef61ddfc1" integrity sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.0.0" "@babel/template" "^7.0.0" "@babel/traverse" "^7.0.0" "@babel/types" "^7.0.0" "@vue/babel-helper-vue-transform-on" "^1.0.2" camelcase "^6.0.0" html-tags "^3.1.0" svg-tags "^1.0.0" "@vue/babel-plugin-transform-vue-jsx@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz#646046c652c2f0242727f34519d917b064041ed7" integrity sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" html-tags "^2.0.0" lodash.kebabcase "^4.1.1" svg-tags "^1.0.0" "@vue/babel-preset-app@^4.5.15": version "4.5.15" resolved "https://registry.yarnpkg.com/@vue/babel-preset-app/-/babel-preset-app-4.5.15.tgz#f6bc08f8f674e98a260004234cde18b966d72eb0" integrity sha512-J+YttzvwRfV1BPczf8r3qCevznYk+jh531agVF+5EYlHF4Sgh/cGXTz9qkkiux3LQgvhEGXgmCteg1n38WuuKg== dependencies: "@babel/core" "^7.11.0" "@babel/helper-compilation-targets" "^7.9.6" "@babel/helper-module-imports" "^7.8.3" "@babel/plugin-proposal-class-properties" "^7.8.3" "@babel/plugin-proposal-decorators" "^7.8.3" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-syntax-jsx" "^7.8.3" "@babel/plugin-transform-runtime" "^7.11.0" "@babel/preset-env" "^7.11.0" "@babel/runtime" "^7.11.0" "@vue/babel-plugin-jsx" "^1.0.3" "@vue/babel-preset-jsx" "^1.2.4" babel-plugin-dynamic-import-node "^2.3.3" core-js "^3.6.5" core-js-compat "^3.6.5" semver "^6.1.0" "@vue/babel-preset-jsx@^1.2.4": version "1.2.4" resolved "https://registry.yarnpkg.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz#92fea79db6f13b01e80d3a0099e2924bdcbe4e87" integrity sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w== dependencies: "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" "@vue/babel-sugar-composition-api-inject-h" "^1.2.1" "@vue/babel-sugar-composition-api-render-instance" "^1.2.4" "@vue/babel-sugar-functional-vue" "^1.2.2" "@vue/babel-sugar-inject-h" "^1.2.2" "@vue/babel-sugar-v-model" "^1.2.3" "@vue/babel-sugar-v-on" "^1.2.3" "@vue/babel-sugar-composition-api-inject-h@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz#05d6e0c432710e37582b2be9a6049b689b6f03eb" integrity sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ== dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" "@vue/babel-sugar-composition-api-render-instance@^1.2.4": version "1.2.4" resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz#e4cbc6997c344fac271785ad7a29325c51d68d19" integrity sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q== dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" "@vue/babel-sugar-functional-vue@^1.2.2": version "1.2.2" resolved "https://registry.yarnpkg.com/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz#267a9ac8d787c96edbf03ce3f392c49da9bd2658" integrity sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w== dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" "@vue/babel-sugar-inject-h@^1.2.2": version "1.2.2" resolved "https://registry.yarnpkg.com/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz#d738d3c893367ec8491dcbb669b000919293e3aa" integrity sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw== dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" "@vue/babel-sugar-v-model@^1.2.3": version "1.2.3" resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz#fa1f29ba51ebf0aa1a6c35fa66d539bc459a18f2" integrity sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ== dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" camelcase "^5.0.0" html-tags "^2.0.0" svg-tags "^1.0.0" "@vue/babel-sugar-v-on@^1.2.3": version "1.2.3" resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz#342367178586a69f392f04bfba32021d02913ada" integrity sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw== dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" camelcase "^5.0.0" "@vue/cli-overlay@^4.5.15": version "4.5.15" resolved "https://registry.yarnpkg.com/@vue/cli-overlay/-/cli-overlay-4.5.15.tgz#0700fd6bad39336d4189ba3ff7d25e638e818c9c" integrity sha512-0zI0kANAVmjFO2LWGUIzdGPMeE3+9k+KeRDXsUqB30YfRF7abjfiiRPq5BU9pOzlJbVdpRkisschBrvdJqDuDg== "@vue/cli-plugin-babel@~4.5.0": version "4.5.15" resolved "https://registry.yarnpkg.com/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.15.tgz#ae4fb2ed54255fe3d84df381dab68509641179ed" integrity sha512-hBLrwYfFkHldEe34op/YNgPhpOWI5n5DB2Qt9I/1Epeif4M4iFaayrgjvOR9AVM6WbD3Yx7WCFszYpWrQZpBzQ== dependencies: "@babel/core" "^7.11.0" "@vue/babel-preset-app" "^4.5.15" "@vue/cli-shared-utils" "^4.5.15" babel-loader "^8.1.0" cache-loader "^4.1.0" thread-loader "^2.1.3" webpack "^4.0.0" "@vue/cli-plugin-eslint@~4.5.0": version "4.5.15" resolved "https://registry.yarnpkg.com/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.5.15.tgz#5781824a941f34c26336a67b1f6584a06c6a24ff" integrity sha512-/2Fl6wY/5bz3HD035oSnFRMsKNxDxU396KqBdpCQdwdvqk4mm6JAbXqihpcBRTNPeTO6w+LwGe6FE56PVbJdbg== dependencies: "@vue/cli-shared-utils" "^4.5.15" eslint-loader "^2.2.1" globby "^9.2.0" inquirer "^7.1.0" webpack "^4.0.0" yorkie "^2.0.0" "@vue/cli-plugin-router@^4.5.15", "@vue/cli-plugin-router@~4.5.0": version "4.5.15" resolved "https://registry.yarnpkg.com/@vue/cli-plugin-router/-/cli-plugin-router-4.5.15.tgz#1e75c8c89df42c694f143b9f1028de3cf5d61e1e" integrity sha512-q7Y6kP9b3k55Ca2j59xJ7XPA6x+iSRB+N4ac0ZbcL1TbInVQ4j5wCzyE+uqid40hLy4fUdlpl4X9fHJEwuVxPA== dependencies: "@vue/cli-shared-utils" "^4.5.15" "@vue/cli-plugin-vuex@^4.5.15": version "4.5.15" resolved "https://registry.yarnpkg.com/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.15.tgz#466c1f02777d02fef53a9bb49a36cc3a3bcfec4e" integrity sha512-fqap+4HN+w+InDxlA3hZTOGE0tzBTgXhKLoDydhywqgmhQ1D9JA6Feh94ze6tG8DsWX58/ujYUqA8jAz17FJtg== "@vue/cli-service@~4.5.0": version "4.5.15" resolved "https://registry.yarnpkg.com/@vue/cli-service/-/cli-service-4.5.15.tgz#0e9a186d51550027d0e68e95042077eb4d115b45" integrity sha512-sFWnLYVCn4zRfu45IcsIE9eXM0YpDV3S11vlM2/DVbIPAGoYo5ySpSof6aHcIvkeGsIsrHFpPHzNvDZ/efs7jA== dependencies: "@intervolga/optimize-cssnano-plugin" "^1.0.5" "@soda/friendly-errors-webpack-plugin" "^1.7.1" "@soda/get-current-script" "^1.0.0" "@types/minimist" "^1.2.0" "@types/webpack" "^4.0.0" "@types/webpack-dev-server" "^3.11.0" "@vue/cli-overlay" "^4.5.15" "@vue/cli-plugin-router" "^4.5.15" "@vue/cli-plugin-vuex" "^4.5.15" "@vue/cli-shared-utils" "^4.5.15" "@vue/component-compiler-utils" "^3.1.2" "@vue/preload-webpack-plugin" "^1.1.0" "@vue/web-component-wrapper" "^1.2.0" acorn "^7.4.0" acorn-walk "^7.1.1" address "^1.1.2" autoprefixer "^9.8.6" browserslist "^4.12.0" cache-loader "^4.1.0" case-sensitive-paths-webpack-plugin "^2.3.0" cli-highlight "^2.1.4" clipboardy "^2.3.0" cliui "^6.0.0" copy-webpack-plugin "^5.1.1" css-loader "^3.5.3" cssnano "^4.1.10" debug "^4.1.1" default-gateway "^5.0.5" dotenv "^8.2.0" dotenv-expand "^5.1.0" file-loader "^4.2.0" fs-extra "^7.0.1" globby "^9.2.0" hash-sum "^2.0.0" html-webpack-plugin "^3.2.0" launch-editor-middleware "^2.2.1" lodash.defaultsdeep "^4.6.1" lodash.mapvalues "^4.6.0" lodash.transform "^4.6.0" mini-css-extract-plugin "^0.9.0" minimist "^1.2.5" pnp-webpack-plugin "^1.6.4" portfinder "^1.0.26" postcss-loader "^3.0.0" ssri "^8.0.1" terser-webpack-plugin "^1.4.4" thread-loader "^2.1.3" url-loader "^2.2.0" vue-loader "^15.9.2" vue-style-loader "^4.1.2" webpack "^4.0.0" webpack-bundle-analyzer "^3.8.0" webpack-chain "^6.4.0" webpack-dev-server "^3.11.0" webpack-merge "^4.2.2" optionalDependencies: vue-loader-v16 "npm:vue-loader@^16.1.0" "@vue/cli-shared-utils@^4.5.15": version "4.5.15" resolved "https://registry.yarnpkg.com/@vue/cli-shared-utils/-/cli-shared-utils-4.5.15.tgz#dba3858165dbe3465755f256a4890e69084532d6" integrity sha512-SKaej9hHzzjKSOw1NlFmc6BSE0vcqUQMQiv1cxQ2DhVyy4QxZXBmzmiLBUBe+hYZZs1neXW7n//udeN9bCAY+Q== dependencies: "@hapi/joi" "^15.0.1" chalk "^2.4.2" execa "^1.0.0" launch-editor "^2.2.1" lru-cache "^5.1.1" node-ipc "^9.1.1" open "^6.3.0" ora "^3.4.0" read-pkg "^5.1.1" request "^2.88.2" semver "^6.1.0" strip-ansi "^6.0.0" "@vue/component-compiler-utils@^3.1.0", "@vue/component-compiler-utils@^3.1.2": version "3.3.0" resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz#f9f5fb53464b0c37b2c8d2f3fbfe44df60f61dc9" integrity sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ== dependencies: consolidate "^0.15.1" hash-sum "^1.0.2" lru-cache "^4.1.2" merge-source-map "^1.1.0" postcss "^7.0.36" postcss-selector-parser "^6.0.2" source-map "~0.6.1" vue-template-es2015-compiler "^1.9.0" optionalDependencies: prettier "^1.18.2 || ^2.0.0" "@vue/preload-webpack-plugin@^1.1.0": version "1.1.2" resolved "https://registry.yarnpkg.com/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz#ceb924b4ecb3b9c43871c7a429a02f8423e621ab" integrity sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ== "@vue/web-component-wrapper@^1.2.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz#b6b40a7625429d2bd7c2281ddba601ed05dc7f1a" integrity sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA== "@webassemblyjs/ast@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== dependencies: "@webassemblyjs/helper-module-context" "1.9.0" "@webassemblyjs/helper-wasm-bytecode" "1.9.0" "@webassemblyjs/wast-parser" "1.9.0" "@webassemblyjs/floating-point-hex-parser@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== "@webassemblyjs/helper-api-error@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== "@webassemblyjs/helper-buffer@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== "@webassemblyjs/helper-code-frame@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== dependencies: "@webassemblyjs/wast-printer" "1.9.0" "@webassemblyjs/helper-fsm@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== "@webassemblyjs/helper-module-context@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-wasm-bytecode@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== "@webassemblyjs/helper-wasm-section@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-buffer" "1.9.0" "@webassemblyjs/helper-wasm-bytecode" "1.9.0" "@webassemblyjs/wasm-gen" "1.9.0" "@webassemblyjs/ieee754@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/leb128@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== dependencies: "@xtuc/long" "4.2.2" "@webassemblyjs/utf8@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== "@webassemblyjs/wasm-edit@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-buffer" "1.9.0" "@webassemblyjs/helper-wasm-bytecode" "1.9.0" "@webassemblyjs/helper-wasm-section" "1.9.0" "@webassemblyjs/wasm-gen" "1.9.0" "@webassemblyjs/wasm-opt" "1.9.0" "@webassemblyjs/wasm-parser" "1.9.0" "@webassemblyjs/wast-printer" "1.9.0" "@webassemblyjs/wasm-gen@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-wasm-bytecode" "1.9.0" "@webassemblyjs/ieee754" "1.9.0" "@webassemblyjs/leb128" "1.9.0" "@webassemblyjs/utf8" "1.9.0" "@webassemblyjs/wasm-opt@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-buffer" "1.9.0" "@webassemblyjs/wasm-gen" "1.9.0" "@webassemblyjs/wasm-parser" "1.9.0" "@webassemblyjs/wasm-parser@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-api-error" "1.9.0" "@webassemblyjs/helper-wasm-bytecode" "1.9.0" "@webassemblyjs/ieee754" "1.9.0" "@webassemblyjs/leb128" "1.9.0" "@webassemblyjs/utf8" "1.9.0" "@webassemblyjs/wast-parser@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/floating-point-hex-parser" "1.9.0" "@webassemblyjs/helper-api-error" "1.9.0" "@webassemblyjs/helper-code-frame" "1.9.0" "@webassemblyjs/helper-fsm" "1.9.0" "@xtuc/long" "4.2.2" "@webassemblyjs/wast-printer@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" "@webpack-cli/configtest@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.2.0.tgz#7b20ce1c12533912c3b217ea68262365fa29a6f5" integrity sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg== "@webpack-cli/info@^1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.5.0.tgz#6c78c13c5874852d6e2dd17f08a41f3fe4c261b1" integrity sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ== dependencies: envinfo "^7.7.3" "@webpack-cli/serve@^1.7.0": version "1.7.0" resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.7.0.tgz#e1993689ac42d2b16e9194376cfb6753f6254db1" integrity sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q== "@wordpress/api-fetch@^5.2.1": version "5.2.6" resolved "https://registry.yarnpkg.com/@wordpress/api-fetch/-/api-fetch-5.2.6.tgz#caaa443414bc37ac222e4e613eb7dcdeab3071ee" integrity sha512-AG8KdCHwtYJWR38AAU7nEI+UbumUSqSBthQj3rShLUVyFbYGkQdpwXJJG6vFj7FjIp41zljiyj3K1Fh3cqdaAw== dependencies: "@babel/runtime" "^7.16.0" "@wordpress/i18n" "^4.2.4" "@wordpress/url" "^3.3.1" "@wordpress/hooks@^3.2.2": version "3.2.2" resolved "https://registry.yarnpkg.com/@wordpress/hooks/-/hooks-3.2.2.tgz#15062a10ca729569d02db8d45fc349b85ad1757e" integrity sha512-MlFWyu2ttJhmzDFBVWPRwZwIMqQdHFZTjFWFWm50NlzUzIJ3gEtNA95mHNtav1Fone24N+I2YkaYMNb6PEPTyA== dependencies: "@babel/runtime" "^7.16.0" "@wordpress/i18n@^4.2.4": version "4.2.4" resolved "https://registry.yarnpkg.com/@wordpress/i18n/-/i18n-4.2.4.tgz#6dd8667551d0c0e43483fd187460c5e39e6cc218" integrity sha512-36PnV7wTaLKCb+JZoapR3AtfrLTluhO5bIR6cUTG+QBBJ+g3gjRAdNFihnV8kz66FANu8PqDMI0T1jow/mrbYw== dependencies: "@babel/runtime" "^7.16.0" "@wordpress/hooks" "^3.2.2" gettext-parser "^1.3.1" lodash "^4.17.21" memize "^1.1.0" sprintf-js "^1.1.1" tannin "^1.2.0" "@wordpress/url@^3.3.1": version "3.3.1" resolved "https://registry.yarnpkg.com/@wordpress/url/-/url-3.3.1.tgz#3f8332c39b91ea4e65489fbd1a0872c15e5d0193" integrity sha512-lEuvkNjPoVuzYy0zn6n9gfMdNlHJW36EsPI2yDzMICjIAV5lRv1/uOg2Ls3lbDaRR2vm1FAiMpB2RAMzfR8Nfg== dependencies: "@babel/runtime" "^7.16.0" lodash "^4.17.21" "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== "@xtuc/long@4.2.2": version "4.2.2" resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== dependencies: mime-types "~2.1.24" negotiator "0.6.2" acorn-jsx@^5.2.0: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-walk@^7.1.1: version "7.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== acorn@^6.4.1: version "6.4.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== acorn@^7.1.1, acorn@^7.4.0: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== address@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== ajv-errors@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.4.1" uri-js "^4.2.2" alphanum-sort@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= ansi-colors@^3.0.0: version "3.2.4" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== ansi-escapes@^4.2.1: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== dependencies: type-fest "^0.21.3" ansi-html-community@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= ansi-regex@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" any-promise@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= anymatch@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== dependencies: micromatch "^3.1.4" normalize-path "^2.1.1" anymatch@^3.0.0, anymatch@~3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== arch@^2.1.1: version "2.2.0" resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== are-we-there-yet@~1.1.2: version "1.1.7" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146" integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g== dependencies: delegates "^1.0.0" readable-stream "^2.0.6" argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= arr-flatten@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== arr-union@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= array-flatten@^2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== array-union@^1.0.1, array-union@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= dependencies: array-uniq "^1.0.1" array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= asn1.js@^5.2.0: version "5.4.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== dependencies: bn.js "^4.0.0" inherits "^2.0.1" minimalistic-assert "^1.0.0" safer-buffer "^2.1.0" asn1@~0.2.3: version "0.2.6" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== dependencies: safer-buffer "~2.1.0" assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= assert@^1.1.1: version "1.5.0" resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== dependencies: object-assign "^4.1.1" util "0.10.3" assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= astral-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== async-each@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== async-foreach@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= async-limiter@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== async@^2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== dependencies: lodash "^4.17.14" asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= atob@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== autoprefixer@^9.8.6: version "9.8.8" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.8.tgz#fd4bd4595385fa6f06599de749a4d5f7a474957a" integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA== dependencies: browserslist "^4.12.0" caniuse-lite "^1.0.30001109" normalize-range "^0.1.2" num2fraction "^1.2.2" picocolors "^0.2.1" postcss "^7.0.32" postcss-value-parser "^4.1.0" aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: version "1.11.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== babel-eslint@^10.1.0: version "10.1.0" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== dependencies: "@babel/code-frame" "^7.0.0" "@babel/parser" "^7.7.0" "@babel/traverse" "^7.7.0" "@babel/types" "^7.7.0" eslint-visitor-keys "^1.0.0" resolve "^1.12.0" babel-loader@^8.1.0: version "8.2.3" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.3.tgz#8986b40f1a64cacfcb4b8429320085ef68b1342d" integrity sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw== dependencies: find-cache-dir "^3.3.1" loader-utils "^1.4.0" make-dir "^3.1.0" schema-utils "^2.6.5" babel-plugin-dynamic-import-node@^2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== dependencies: object.assign "^4.1.0" babel-plugin-polyfill-corejs2@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz#407082d0d355ba565af24126fb6cb8e9115251fd" integrity sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA== dependencies: "@babel/compat-data" "^7.13.11" "@babel/helper-define-polyfill-provider" "^0.3.0" semver "^6.1.1" babel-plugin-polyfill-corejs3@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.0.tgz#f81371be3fe499d39e074e272a1ef86533f3d268" integrity sha512-Hcrgnmkf+4JTj73GbK3bBhlVPiLL47owUAnoJIf69Hakl3q+KfodbDXiZWGMM7iqCZTxCG3Z2VRfPNYES4rXqQ== dependencies: "@babel/helper-define-polyfill-provider" "^0.3.0" core-js-compat "^3.20.0" babel-plugin-polyfill-regenerator@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz#9ebbcd7186e1a33e21c5e20cae4e7983949533be" integrity sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg== dependencies: "@babel/helper-define-polyfill-provider" "^0.3.0" balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== base64-js@^1.0.2: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== base@^0.11.1: version "0.11.2" resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== dependencies: 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" batch@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= bcrypt-pbkdf@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= dependencies: tweetnacl "^0.14.3" bfj@^6.1.1: version "6.1.2" resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f" integrity sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw== dependencies: bluebird "^3.5.5" check-types "^8.0.3" hoopy "^0.1.4" tryer "^1.0.1" big.js@^3.1.3: version "3.2.0" resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== big.js@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== binary-extensions@^1.0.0: version "1.13.1" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== dependencies: file-uri-to-path "1.0.0" bluebird@^3.1.1, bluebird@^3.5.5: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: version "4.12.0" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== bn.js@^5.0.0, bn.js@^5.1.1: version "5.2.0" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== body-parser@1.19.1: version "1.19.1" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.1.tgz#1499abbaa9274af3ecc9f6f10396c995943e31d4" integrity sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA== dependencies: bytes "3.1.1" content-type "~1.0.4" debug "2.6.9" depd "~1.1.2" http-errors "1.8.1" iconv-lite "0.4.24" on-finished "~2.3.0" qs "6.9.6" raw-body "2.4.2" type-is "~1.6.18" bonjour@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= dependencies: 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" boolbase@^1.0.0, boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" braces@^2.3.1, braces@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== dependencies: 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" braces@^3.0.1, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" brorand@^1.0.1, brorand@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= browserify-aes@^1.0.0, browserify-aes@^1.0.4: version "1.2.0" resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== dependencies: 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@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== dependencies: browserify-aes "^1.0.4" browserify-des "^1.0.0" evp_bytestokey "^1.0.0" browserify-des@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== dependencies: cipher-base "^1.0.1" des.js "^1.0.0" inherits "^2.0.1" safe-buffer "^5.1.2" browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: version "4.1.0" resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== dependencies: bn.js "^5.0.0" randombytes "^2.0.1" browserify-sign@^4.0.0: version "4.2.1" resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== dependencies: 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" browserify-zlib@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== dependencies: pako "~1.0.5" browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.17.5, browserslist@^4.19.1: version "4.19.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== dependencies: caniuse-lite "^1.0.30001286" electron-to-chromium "^1.4.17" escalade "^3.1.1" node-releases "^2.0.1" picocolors "^1.0.0" buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== buffer-indexof@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== buffer-json@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/buffer-json/-/buffer-json-2.0.0.tgz#f73e13b1e42f196fe2fd67d001c7d7107edd7c23" integrity sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw== buffer-xor@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= buffer@^4.3.0: version "4.9.2" resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" isarray "^1.0.0" builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= bytes@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.1.tgz#3f018291cb4cbad9accb6e6970bca9c8889e879a" integrity sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg== cacache@^12.0.2, cacache@^12.0.3: version "12.0.4" resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== dependencies: 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" cache-base@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== dependencies: 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" cache-loader@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/cache-loader/-/cache-loader-4.1.0.tgz#9948cae353aec0a1fcb1eafda2300816ec85387e" integrity sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw== dependencies: buffer-json "^2.0.0" find-cache-dir "^3.0.0" loader-utils "^1.2.3" mkdirp "^0.5.1" neo-async "^2.6.1" schema-utils "^2.0.0" call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== dependencies: function-bind "^1.1.1" get-intrinsic "^1.0.2" call-me-maybe@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= caller-callsite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= dependencies: callsites "^2.0.0" caller-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= dependencies: caller-callsite "^2.0.0" callsites@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camel-case@3.0.x: version "3.0.0" resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= dependencies: no-case "^2.2.0" upper-case "^1.1.1" camelcase-keys@^6.2.2: version "6.2.2" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== dependencies: camelcase "^5.3.1" map-obj "^4.0.0" quick-lru "^4.0.1" camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== camelcase@^6.0.0: version "6.3.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-api@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== dependencies: browserslist "^4.0.0" caniuse-lite "^1.0.0" lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001286: version "1.0.30001299" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001299.tgz#d753bf6444ed401eb503cbbe17aa3e1451b5a68c" integrity sha512-iujN4+x7QzqA2NCSrS5VUy+4gLmRd4xv6vbBBsmfVqTx8bLAD8097euLqQgKxSVLvxjSDcvF1T/i9ocgnUFexw== case-sensitive-paths-webpack-plugin@^2.3.0: version "2.4.0" resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= chalk@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= dependencies: 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" chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" supports-color "^5.3.0" chalk@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" chalk@^4.0.0, chalk@^4.1.0: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" chardet@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== charenc@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== chart.js@^3.9.1: version "3.9.1" resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-3.9.1.tgz#3abf2c775169c4c71217a107163ac708515924b8" integrity sha512-Ro2JbLmvg83gXF5F4sniaQ+lTbSv18E+TIf2cOeiH1Iqd2PGFOtem+DUufMZsCJwFE7ywPOpfXFBwRTGq7dh6w== check-types@^8.0.3: version "8.0.3" resolved "https://registry.yarnpkg.com/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" integrity sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ== chokidar@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== dependencies: anymatch "^2.0.0" async-each "^1.0.1" braces "^2.3.2" 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" optionalDependencies: fsevents "^1.2.7" chokidar@^3.4.1: version "3.5.2" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== dependencies: anymatch "~3.1.2" braces "~3.0.2" glob-parent "~5.1.2" is-binary-path "~2.1.0" is-glob "~4.0.1" normalize-path "~3.0.0" readdirp "~3.6.0" optionalDependencies: fsevents "~2.3.2" chownr@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== chownr@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== chrome-trace-event@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== ci-info@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== dependencies: inherits "^2.0.1" safe-buffer "^5.0.1" clamp@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/clamp/-/clamp-1.0.1.tgz#66a0e64011816e37196828fdc8c8c147312c8634" integrity sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ= class-utils@^0.3.5: version "0.3.6" resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== dependencies: arr-union "^3.1.0" define-property "^0.2.5" isobject "^3.0.0" static-extend "^0.1.1" clean-css@4.2.x: version "4.2.4" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178" integrity sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A== dependencies: source-map "~0.6.0" cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= dependencies: restore-cursor "^2.0.0" cli-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== dependencies: restore-cursor "^3.1.0" cli-highlight@^2.1.4: version "2.1.11" resolved "https://registry.yarnpkg.com/cli-highlight/-/cli-highlight-2.1.11.tgz#49736fa452f0aaf4fae580e30acb26828d2dc1bf" integrity sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg== dependencies: chalk "^4.0.0" highlight.js "^10.7.1" mz "^2.4.0" parse5 "^5.1.1" parse5-htmlparser2-tree-adapter "^6.0.0" yargs "^16.0.0" cli-spinners@^2.0.0: version "2.6.1" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== cli-width@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== clipboardy@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-2.3.0.tgz#3c2903650c68e46a91b388985bc2774287dba290" integrity sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ== dependencies: arch "^2.1.1" execa "^1.0.0" is-wsl "^2.1.1" cliui@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== dependencies: string-width "^3.1.0" strip-ansi "^5.2.0" wrap-ansi "^5.1.0" cliui@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== dependencies: string-width "^4.2.0" strip-ansi "^6.0.0" wrap-ansi "^6.2.0" cliui@^7.0.2: version "7.0.4" resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== dependencies: string-width "^4.2.0" strip-ansi "^6.0.0" wrap-ansi "^7.0.0" clone-deep@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== dependencies: is-plain-object "^2.0.4" kind-of "^6.0.2" shallow-clone "^3.0.0" clone@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= coa@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== dependencies: "@types/q" "^1.5.1" chalk "^2.4.1" q "^1.1.2" code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= dependencies: map-visit "^1.0.0" object-visit "^1.0.0" color-convert@^1.9.0, color-convert@^1.9.3: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= color-name@^1.0.0, color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== color-string@^1.6.0: version "1.9.0" resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.0.tgz#63b6ebd1bec11999d1df3a79a7569451ac2be8aa" integrity sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ== dependencies: color-name "^1.0.0" simple-swizzle "^0.2.2" color@^3.0.0: version "3.2.1" resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164" integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== dependencies: color-convert "^1.9.3" color-string "^1.6.0" colorette@^2.0.14: version "2.0.19" resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" commander@2.17.x: version "2.17.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== commander@^2.18.0, commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commander@^7.0.0: version "7.2.0" resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== commander@~2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= component-emitter@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== compressible@~2.0.16: version "2.0.18" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== dependencies: mime-db ">= 1.43.0 < 2" compression@^1.7.4: version "1.7.4" resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== dependencies: 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" concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= concat-stream@^1.5.0: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== dependencies: buffer-from "^1.0.0" inherits "^2.0.3" readable-stream "^2.2.2" typedarray "^0.0.6" connect-history-api-fallback@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== console-browserify@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= consolidate@^0.15.1: version "0.15.1" resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7" integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw== dependencies: bluebird "^3.1.1" constants-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= content-disposition@0.5.4: version "0.5.4" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== dependencies: safe-buffer "5.2.1" content-type@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== convert-source-map@^1.7.0: version "1.8.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== dependencies: safe-buffer "~5.1.1" cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= cookie@0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== copy-concurrently@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== dependencies: 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" copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= copy-webpack-plugin@^5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz#8a889e1dcafa6c91c6cd4be1ad158f1d3823bae2" integrity sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ== dependencies: cacache "^12.0.3" find-cache-dir "^2.1.0" glob-parent "^3.1.0" globby "^7.1.1" is-glob "^4.0.1" loader-utils "^1.2.3" minimatch "^3.0.4" normalize-path "^3.0.0" p-limit "^2.2.1" schema-utils "^1.0.0" serialize-javascript "^4.0.0" webpack-log "^2.0.0" core-js-compat@^3.20.0, core-js-compat@^3.20.2, core-js-compat@^3.6.5: version "3.20.2" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.20.2.tgz#d1ff6936c7330959b46b2e08b122a8b14e26140b" integrity sha512-qZEzVQ+5Qh6cROaTPFLNS4lkvQ6mBzE3R6A6EEpssj7Zr2egMHgsy4XapdifqJDGC9CBiNv7s+ejI96rLNQFdg== dependencies: browserslist "^4.19.1" semver "7.0.0" core-js@^3.6.5: version "3.20.2" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.20.2.tgz#46468d8601eafc8b266bd2dd6bf9dee622779581" integrity sha512-nuqhq11DcOAbFBV4zCbKeGbKQsUDRqTX0oqx7AttUBuqe3h20ixsE039QHelbL6P4h+9kytVqyEtyZ6gsiwEYw== core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= core-util-is@~1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== cosmiconfig@^5.0.0: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== dependencies: import-fresh "^2.0.0" is-directory "^0.3.1" js-yaml "^3.13.1" parse-json "^4.0.0" create-ecdh@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== dependencies: bn.js "^4.1.0" elliptic "^6.5.3" create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== dependencies: 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@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== dependencies: 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@^5.0.1: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= dependencies: lru-cache "^4.0.1" shebang-command "^1.2.0" which "^1.2.9" cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: nice-try "^1.0.4" path-key "^2.0.1" semver "^5.5.0" shebang-command "^1.2.0" which "^1.2.9" cross-spawn@^7.0.0, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" which "^2.0.1" crypt@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== dependencies: 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-color-names@0.0.4, css-color-names@^0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= css-declaration-sorter@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== dependencies: postcss "^7.0.1" timsort "^0.3.0" css-loader@^3.5.3: version "3.6.0" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645" integrity sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ== dependencies: camelcase "^5.3.1" cssesc "^3.0.0" icss-utils "^4.1.1" loader-utils "^1.2.3" normalize-path "^3.0.0" postcss "^7.0.32" postcss-modules-extract-imports "^2.0.0" postcss-modules-local-by-default "^3.0.2" postcss-modules-scope "^2.2.0" postcss-modules-values "^3.0.0" postcss-value-parser "^4.1.0" schema-utils "^2.7.0" semver "^6.3.0" css-select-base-adapter@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== css-select@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== dependencies: boolbase "^1.0.0" css-what "^3.2.1" domutils "^1.7.0" nth-check "^1.0.2" css-select@^4.1.3: version "4.2.1" resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.2.1.tgz#9e665d6ae4c7f9d65dbe69d0316e3221fb274cdd" integrity sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ== dependencies: boolbase "^1.0.0" css-what "^5.1.0" domhandler "^4.3.0" domutils "^2.8.0" nth-check "^2.0.1" css-tree@1.0.0-alpha.37: version "1.0.0-alpha.37" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== dependencies: mdn-data "2.0.4" source-map "^0.6.1" css-tree@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== dependencies: mdn-data "2.0.14" source-map "^0.6.1" css-what@^3.2.1: version "3.4.2" resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== css-what@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== cssnano-preset-default@^4.0.0, cssnano-preset-default@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz#920622b1fc1e95a34e8838203f1397a504f2d3ff" integrity sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ== dependencies: 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.3" postcss-unique-selectors "^4.0.1" cssnano-util-get-arguments@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= cssnano-util-get-match@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= cssnano-util-raw-cache@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== dependencies: postcss "^7.0.0" cssnano-util-same-parent@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== cssnano@^4.0.0, cssnano@^4.1.10: version "4.1.11" resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99" integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g== dependencies: cosmiconfig "^5.0.0" cssnano-preset-default "^4.0.8" is-resolvable "^1.0.0" postcss "^7.0.0" csso@^4.0.2: version "4.2.0" resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== dependencies: css-tree "^1.1.2" cyclist@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= dependencies: assert-plus "^1.0.0" de-indent@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= debug@2.6.9, debug@^2.2.0, debug@^2.3.3: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" debug@^3.1.1, debug@^3.2.6: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.3.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== dependencies: ms "2.1.2" decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= dependencies: decamelize "^1.1.0" map-obj "^1.0.0" decamelize@^1.1.0, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= deep-equal@^1.0.1: version "1.1.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== dependencies: 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@~0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== deepmerge@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753" integrity sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ== default-gateway@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== dependencies: execa "^1.0.0" ip-regex "^2.1.0" default-gateway@^5.0.5: version "5.0.5" resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-5.0.5.tgz#4fd6bd5d2855d39b34cc5a59505486e9aafc9b10" integrity sha512-z2RnruVmj8hVMmAnEJMTIJNijhKCDiGjbLP+BHJFOT7ld3Bo5qcIBpVYDniqhbMIIf+jZDlkP2MkPXiQy/DBLA== dependencies: execa "^3.3.0" defaults@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= dependencies: clone "^1.0.2" define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== dependencies: object-keys "^1.0.12" define-property@^0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= dependencies: is-descriptor "^0.1.0" define-property@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= dependencies: is-descriptor "^1.0.0" define-property@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== dependencies: is-descriptor "^1.0.2" isobject "^3.0.1" del@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== dependencies: "@types/glob" "^7.1.1" globby "^6.1.0" is-path-cwd "^2.0.0" is-path-in-cwd "^2.0.0" p-map "^2.0.0" pify "^4.0.1" rimraf "^2.6.3" delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= des.js@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== dependencies: inherits "^2.0.1" minimalistic-assert "^1.0.0" destroy@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= detect-node@^2.0.4: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== dependencies: bn.js "^4.1.0" miller-rabin "^4.0.0" randombytes "^2.0.0" dir-glob@^2.0.0, dir-glob@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== dependencies: path-type "^3.0.0" dns-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= dns-packet@^1.3.1: version "1.3.4" resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f" integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA== dependencies: ip "^1.1.0" safe-buffer "^5.0.1" dns-txt@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= dependencies: buffer-indexof "^1.0.0" doctrine@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" dom-converter@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== dependencies: utila "~0.4" dom-serializer@0: version "0.2.2" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== dependencies: domelementtype "^2.0.1" entities "^2.0.0" dom-serializer@^1.0.1: version "1.3.2" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== dependencies: domelementtype "^2.0.1" domhandler "^4.2.0" entities "^2.0.0" domain-browser@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== domelementtype@1: version "1.3.1" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== domelementtype@^2.0.1, domelementtype@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.0.tgz#16c658c626cf966967e306f966b431f77d4a5626" integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g== dependencies: domelementtype "^2.2.0" domutils@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== dependencies: dom-serializer "0" domelementtype "1" domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== dependencies: dom-serializer "^1.0.1" domelementtype "^2.2.0" domhandler "^4.2.0" dot-prop@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== dependencies: is-obj "^2.0.0" dotenv-expand@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== dotenv@^8.2.0: version "8.6.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== duplexer@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== duplexify@^3.4.2, duplexify@^3.6.0: version "3.7.1" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== dependencies: end-of-stream "^1.0.0" inherits "^2.0.1" readable-stream "^2.0.0" stream-shift "^1.0.0" easy-stack@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/easy-stack/-/easy-stack-1.0.1.tgz#8afe4264626988cabb11f3c704ccd0c835411066" integrity sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w== ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= dependencies: jsbn "~0.1.0" safer-buffer "^2.1.0" ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= ejs@^2.6.1: version "2.7.4" resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== electron-to-chromium@^1.4.17: version "1.4.43" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.43.tgz#665c0cd8d5e7cce0ba78d90a514c8c813ca3bdbe" integrity sha512-PO3kEfcxPrti/4STbXvCkNIF4fgWvCKl2508e6UI7KomCDffpIfeBZLXsh5DK/XGsjUw3kwq6WEsi0MJTlGAdg== elliptic@^6.5.3: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== dependencies: bn.js "^4.11.9" brorand "^1.1.0" hash.js "^1.0.0" hmac-drbg "^1.0.1" inherits "^2.0.4" minimalistic-assert "^1.0.1" minimalistic-crypto-utils "^1.0.1" emoji-regex@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= emojis-list@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= encoding@^0.1.12: version "0.1.13" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== dependencies: iconv-lite "^0.6.2" end-of-stream@^1.0.0, end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" enhanced-resolve@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== dependencies: graceful-fs "^4.1.2" memory-fs "^0.5.0" tapable "^1.0.0" entities@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== env-paths@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== envinfo@^7.7.3: version "7.8.1" resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== errno@^0.1.3, errno@~0.1.7: version "0.1.8" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== dependencies: prr "~1.0.1" error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" error-stack-parser@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8" integrity sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ== dependencies: stackframe "^1.1.1" es-abstract@^1.17.2, es-abstract@^1.19.1: version "1.19.1" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" get-intrinsic "^1.1.1" get-symbol-description "^1.0.0" has "^1.0.3" has-symbols "^1.0.2" internal-slot "^1.0.3" is-callable "^1.2.4" is-negative-zero "^2.0.1" is-regex "^1.1.4" is-shared-array-buffer "^1.0.1" is-string "^1.0.7" is-weakref "^1.0.1" object-inspect "^1.11.0" object-keys "^1.1.1" object.assign "^4.1.2" string.prototype.trimend "^1.0.4" string.prototype.trimstart "^1.0.4" unbox-primitive "^1.0.1" es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== dependencies: is-callable "^1.1.4" is-date-object "^1.0.1" is-symbol "^1.0.2" escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= eslint-loader@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.2.1.tgz#28b9c12da54057af0845e2a6112701a2f6bf8337" integrity sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg== dependencies: loader-fs-cache "^1.0.0" loader-utils "^1.0.2" object-assign "^4.0.1" object-hash "^1.1.4" rimraf "^2.6.1" eslint-plugin-vue@^6.2.2: version "6.2.2" resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-6.2.2.tgz#27fecd9a3a24789b0f111ecdd540a9e56198e0fe" integrity sha512-Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ== dependencies: natural-compare "^1.4.0" semver "^5.6.0" vue-eslint-parser "^7.0.0" eslint-scope@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== dependencies: esrecurse "^4.1.0" estraverse "^4.1.1" eslint-scope@^5.0.0, eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: esrecurse "^4.3.0" estraverse "^4.1.1" eslint-utils@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== dependencies: eslint-visitor-keys "^1.1.0" eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== eslint@^6.7.2: version "6.8.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== dependencies: "@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" espree@^6.1.2, espree@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== dependencies: acorn "^7.1.1" acorn-jsx "^5.2.0" eslint-visitor-keys "^1.1.0" esprima@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.0.1, esquery@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== dependencies: estraverse "^5.1.0" esrecurse@^4.1.0, esrecurse@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" estraverse@^4.1.1: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== estraverse@^5.1.0, estraverse@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= event-pubsub@4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/event-pubsub/-/event-pubsub-4.3.0.tgz#f68d816bc29f1ec02c539dc58c8dd40ce72cb36e" integrity sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ== eventemitter3@^4.0.0: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== events@^3.0.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== eventsource@^1.0.7: version "1.1.0" resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.1.0.tgz#00e8ca7c92109e94b0ddf32dac677d841028cfaf" integrity sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg== dependencies: original "^1.0.0" evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== dependencies: md5.js "^1.3.4" safe-buffer "^5.1.1" execa@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" integrity sha1-2NdrvBtVIX7RkP1t1J08d07PyNo= dependencies: cross-spawn "^5.0.1" get-stream "^3.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" execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== dependencies: 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" execa@^3.3.0: version "3.4.0" resolved "https://registry.yarnpkg.com/execa/-/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" integrity sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g== dependencies: cross-spawn "^7.0.0" get-stream "^5.0.0" human-signals "^1.1.1" is-stream "^2.0.0" merge-stream "^2.0.0" npm-run-path "^4.0.0" onetime "^5.1.0" p-finally "^2.0.0" signal-exit "^3.0.2" strip-final-newline "^2.0.0" expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= dependencies: 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" express@^4.16.3, express@^4.17.1: version "4.17.2" resolved "https://registry.yarnpkg.com/express/-/express-4.17.2.tgz#c18369f265297319beed4e5558753cc8c1364cb3" integrity sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg== dependencies: accepts "~1.3.7" array-flatten "1.1.1" body-parser "1.19.1" content-disposition "0.5.4" content-type "~1.0.4" cookie "0.4.1" 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.7" qs "6.9.6" range-parser "~1.2.1" safe-buffer "5.2.1" send "0.17.2" serve-static "1.14.2" setprototypeof "1.2.0" statuses "~1.5.0" type-is "~1.6.18" utils-merge "1.0.1" vary "~1.1.2" extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= dependencies: is-extendable "^0.1.0" extend-shallow@^3.0.0, extend-shallow@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= dependencies: assign-symbols "^1.0.0" is-extendable "^1.0.1" extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== external-editor@^3.0.3: version "3.1.0" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== dependencies: chardet "^0.7.0" iconv-lite "^0.4.24" tmp "^0.0.33" extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== dependencies: 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" extsprintf@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= extsprintf@^1.2.0: version "1.4.1" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== fast-deep-equal@^3.1.1: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-glob@^2.2.6: version "2.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== dependencies: "@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" fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= fastest-levenshtein@^1.0.12: version "1.0.16" resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== faye-websocket@^0.11.3: version "0.11.4" resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== dependencies: websocket-driver ">=0.5.1" figgy-pudding@^3.5.1: version "3.5.2" resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== figures@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== dependencies: escape-string-regexp "^1.0.5" file-entry-cache@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== dependencies: flat-cache "^2.0.1" file-loader@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.3.0.tgz#780f040f729b3d18019f20605f723e844b8a58af" integrity sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA== dependencies: loader-utils "^1.2.3" schema-utils "^2.5.0" file-uri-to-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== filesize@^3.6.1: version "3.6.1" resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= dependencies: extend-shallow "^2.0.1" is-number "^3.0.0" repeat-string "^1.6.1" to-regex-range "^2.1.0" fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: to-regex-range "^5.0.1" finalhandler@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== dependencies: 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@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" integrity sha1-yN765XyKUqinhPnjHFfHQumToLk= dependencies: commondir "^1.0.1" mkdirp "^0.5.1" pkg-dir "^1.0.0" find-cache-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== dependencies: commondir "^1.0.1" make-dir "^2.0.0" pkg-dir "^3.0.0" find-cache-dir@^3.0.0, find-cache-dir@^3.3.1: version "3.3.2" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== dependencies: commondir "^1.0.1" make-dir "^3.0.2" pkg-dir "^4.1.0" find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= dependencies: path-exists "^2.0.0" pinkie-promise "^2.0.0" find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: locate-path "^3.0.0" find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: locate-path "^5.0.0" path-exists "^4.0.0" flat-cache@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== dependencies: flatted "^2.0.0" rimraf "2.6.3" write "1.0.3" flatted@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== flush-write-stream@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== dependencies: inherits "^2.0.3" readable-stream "^2.3.6" follow-redirects@^1.0.0: version "1.14.7" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685" integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ== for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= form-data@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== dependencies: asynckit "^0.4.0" combined-stream "^1.0.6" mime-types "^2.1.12" forwarded@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= dependencies: map-cache "^0.2.2" fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= from2@^2.1.0: version "2.3.0" resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= dependencies: inherits "^2.0.1" readable-stream "^2.0.0" fs-extra@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== dependencies: graceful-fs "^4.1.2" jsonfile "^4.0.0" universalify "^0.1.0" fs-minipass@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== dependencies: minipass "^3.0.0" fs-write-stream-atomic@^1.0.8: version "1.0.10" resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= dependencies: graceful-fs "^4.1.2" iferr "^0.1.5" imurmurhash "^0.1.4" readable-stream "1 || 2" fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= fsevents@^1.2.7: version "1.2.13" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== dependencies: bindings "^1.5.0" nan "^2.12.1" fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= dependencies: aproba "^1.0.3" console-control-strings "^1.0.0" has-unicode "^2.0.0" object-assign "^4.1.0" signal-exit "^3.0.0" string-width "^1.0.1" strip-ansi "^3.0.1" wide-align "^1.1.0" gaze@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g== dependencies: globule "^1.0.0" gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== dependencies: function-bind "^1.1.1" has "^1.0.3" has-symbols "^1.0.1" get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== dependencies: pump "^3.0.0" get-stream@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== dependencies: pump "^3.0.0" get-symbol-description@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== dependencies: call-bind "^1.0.2" get-intrinsic "^1.1.1" get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= dependencies: assert-plus "^1.0.0" gettext-parser@^1.3.1: version "1.4.0" resolved "https://registry.yarnpkg.com/gettext-parser/-/gettext-parser-1.4.0.tgz#f8baf34a292f03d5e42f02df099d301f167a7ace" integrity sha512-sedZYLHlHeBop/gZ1jdg59hlUEcpcZJofLq2JFwJT1zTqAU3l2wFv6IsuwFHGqbiT9DWzMUW4/em2+hspnmMMA== dependencies: encoding "^0.1.12" safe-buffer "^5.1.1" glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= dependencies: is-glob "^3.1.0" path-dirname "^1.0.0" glob-parent@^5.0.0, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" glob-to-regexp@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== dependencies: 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@~7.1.1: version "7.1.7" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== dependencies: 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" globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^12.1.0: version "12.4.0" resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== dependencies: type-fest "^0.8.1" globby@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= dependencies: array-union "^1.0.1" glob "^7.0.3" object-assign "^4.0.1" pify "^2.0.0" pinkie-promise "^2.0.0" globby@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= dependencies: array-union "^1.0.1" dir-glob "^2.0.0" glob "^7.1.2" ignore "^3.3.5" pify "^3.0.0" slash "^1.0.0" globby@^9.2.0: version "9.2.0" resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== dependencies: "@types/glob" "^7.1.1" array-union "^1.0.2" dir-glob "^2.2.2" fast-glob "^2.2.6" glob "^7.1.3" ignore "^4.0.3" pify "^4.0.1" slash "^2.0.0" globule@^1.0.0: version "1.3.3" resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.3.tgz#811919eeac1ab7344e905f2e3be80a13447973c2" integrity sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg== dependencies: glob "~7.1.1" lodash "~4.17.10" minimatch "~3.0.2" graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.3: version "4.2.9" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== gzip-size@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== dependencies: duplexer "^0.1.1" pify "^4.0.1" handle-thing@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= har-validator@~5.1.3: version "5.1.5" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== dependencies: ajv "^6.12.3" har-schema "^2.0.0" hard-rejection@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= dependencies: ansi-regex "^2.0.0" has-bigints@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has-symbols@^1.0.1, has-symbols@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== has-tostringtag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== dependencies: has-symbols "^1.0.2" has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= has-value@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= dependencies: get-value "^2.0.3" has-values "^0.1.4" isobject "^2.0.0" has-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= dependencies: get-value "^2.0.6" has-values "^1.0.0" isobject "^3.0.0" has-values@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= has-values@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= dependencies: is-number "^3.0.0" kind-of "^4.0.0" has@^1.0.0, has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: function-bind "^1.1.1" hash-base@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== dependencies: inherits "^2.0.4" readable-stream "^3.6.0" safe-buffer "^5.2.0" hash-sum@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= hash-sum@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a" integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg== hash.js@^1.0.0, hash.js@^1.0.3: version "1.1.7" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== dependencies: inherits "^2.0.3" minimalistic-assert "^1.0.1" he@1.2.x, he@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== hex-color-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== highlight.js@^10.7.1: version "10.7.3" resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531" integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= dependencies: hash.js "^1.0.3" minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" hoopy@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== hosted-git-info@^2.1.4: version "2.8.9" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== hosted-git-info@^4.0.1: version "4.1.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== dependencies: lru-cache "^6.0.0" hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= dependencies: inherits "^2.0.1" obuf "^1.0.0" readable-stream "^2.0.1" wbuf "^1.1.0" hsl-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= hsla-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= html-entities@^1.3.1: version "1.4.0" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA== html-minifier@^3.2.3: version "3.5.21" resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" integrity sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA== dependencies: 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" html-tags@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b" integrity sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos= html-tags@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== html-webpack-plugin@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b" integrity sha1-sBq71yOsqqeze2r0SS69oD2d03s= dependencies: html-minifier "^3.2.3" loader-utils "^0.2.16" lodash "^4.17.3" pretty-error "^2.0.2" tapable "^1.0.0" toposort "^1.0.0" util.promisify "1.0.0" htmlparser2@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== dependencies: domelementtype "^2.0.1" domhandler "^4.0.0" domutils "^2.5.2" entities "^2.0.0" http-deceiver@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= http-errors@1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== dependencies: depd "~1.1.2" inherits "2.0.4" setprototypeof "1.2.0" statuses ">= 1.5.0 < 2" toidentifier "1.0.1" http-errors@~1.6.2: version "1.6.3" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= dependencies: depd "~1.1.2" inherits "2.0.3" setprototypeof "1.1.0" statuses ">= 1.4.0 < 2" http-parser-js@>=0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.5.tgz#d7c30d5d3c90d865b4a2e870181f9d6f22ac7ac5" integrity sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA== http-proxy-middleware@0.19.1: version "0.19.1" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== dependencies: http-proxy "^1.17.0" is-glob "^4.0.0" lodash "^4.17.11" micromatch "^3.1.10" http-proxy-middleware@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz#43700d6d9eecb7419bf086a128d0f7205d9eb665" integrity sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg== dependencies: "@types/http-proxy" "^1.17.5" http-proxy "^1.18.1" is-glob "^4.0.1" is-plain-obj "^3.0.0" micromatch "^4.0.2" http-proxy@^1.17.0, http-proxy@^1.18.1: version "1.18.1" resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== dependencies: eventemitter3 "^4.0.0" follow-redirects "^1.0.0" requires-port "^1.0.0" http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= dependencies: assert-plus "^1.0.0" jsprim "^1.2.2" sshpk "^1.7.0" https-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= human-signals@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" iconv-lite@^0.6.2: version "0.6.3" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== dependencies: safer-buffer ">= 2.1.2 < 3.0.0" icss-utils@^4.0.0, icss-utils@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== dependencies: postcss "^7.0.14" ieee754@^1.1.4: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== iferr@^0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= ignore@^3.3.5: version "3.3.10" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== ignore@^4.0.3, ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== import-cwd@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= dependencies: import-from "^2.1.0" import-fresh@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= dependencies: caller-path "^2.0.0" resolve-from "^3.0.0" import-fresh@^3.0.0: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" import-from@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" integrity sha1-M1238qev/VOqpHHUuAId7ja387E= dependencies: resolve-from "^3.0.0" import-local@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== dependencies: pkg-dir "^3.0.0" resolve-cwd "^2.0.0" import-local@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== dependencies: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= indent-string@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== indexes-of@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= infer-owner@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= dependencies: once "^1.3.0" wrappy "1" inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== inherits@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= inherits@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= inquirer@^7.0.0, inquirer@^7.1.0: version "7.3.3" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== dependencies: 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" internal-ip@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== dependencies: default-gateway "^4.2.0" ipaddr.js "^1.9.0" internal-slot@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== dependencies: get-intrinsic "^1.1.0" has "^1.0.3" side-channel "^1.0.4" interpret@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= ip@^1.1.0, ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= ipaddr.js@1.9.1, ipaddr.js@^1.9.0: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== is-absolute-url@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= is-absolute-url@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= dependencies: kind-of "^3.0.2" is-accessor-descriptor@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== dependencies: kind-of "^6.0.0" is-arguments@^1.0.4: version "1.1.1" resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== dependencies: call-bind "^1.0.2" has-tostringtag "^1.0.0" is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= is-arrayish@^0.3.1: version "0.3.2" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== is-bigint@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== dependencies: has-bigints "^1.0.1" is-binary-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= dependencies: binary-extensions "^1.0.0" is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: binary-extensions "^2.0.0" is-boolean-object@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== dependencies: call-bind "^1.0.2" has-tostringtag "^1.0.0" is-buffer@^1.1.5, is-buffer@~1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== is-callable@^1.1.4, is-callable@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== is-ci@^1.0.10: version "1.2.1" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== dependencies: ci-info "^1.5.0" is-color-stop@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= dependencies: 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-core-module@^2.5.0, is-core-module@^2.8.0: version "2.8.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== dependencies: has "^1.0.3" is-core-module@^2.9.0: version "2.10.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== dependencies: has "^1.0.3" is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= dependencies: kind-of "^3.0.2" is-data-descriptor@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== dependencies: kind-of "^6.0.0" is-date-object@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== dependencies: has-tostringtag "^1.0.0" is-descriptor@^0.1.0: version "0.1.6" resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== dependencies: is-accessor-descriptor "^0.1.6" is-data-descriptor "^0.1.4" kind-of "^5.0.0" is-descriptor@^1.0.0, is-descriptor@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== dependencies: is-accessor-descriptor "^1.0.0" is-data-descriptor "^1.0.0" kind-of "^6.0.2" is-directory@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= is-docker@^2.0.0: version "2.2.1" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= is-extendable@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== dependencies: is-plain-object "^2.0.4" is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= is-fullwidth-code-point@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= dependencies: number-is-nan "^1.0.0" is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-glob@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= dependencies: is-extglob "^2.1.0" is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" is-negative-zero@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== is-number-object@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== dependencies: has-tostringtag "^1.0.0" is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= dependencies: kind-of "^3.0.2" is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-obj@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== is-path-cwd@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== is-path-in-cwd@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== dependencies: is-path-inside "^2.1.0" is-path-inside@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== dependencies: path-is-inside "^1.0.2" is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= is-plain-obj@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== dependencies: isobject "^3.0.1" is-regex@^1.0.4, is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: call-bind "^1.0.2" has-tostringtag "^1.0.0" is-resolvable@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== is-shared-array-buffer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== dependencies: has-tostringtag "^1.0.0" is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: has-symbols "^1.0.2" is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= is-weakref@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== dependencies: call-bind "^1.0.2" is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== is-wsl@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= is-wsl@^2.1.1: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== dependencies: is-docker "^2.0.0" isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= dependencies: isarray "1.0.0" isobject@^3.0.0, isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= javascript-stringify@^2.0.1: version "2.1.0" resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz#27c76539be14d8bd128219a2d731b09337904e79" integrity sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg== js-base64@^2.1.8: version "2.6.4" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== js-message@1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/js-message/-/js-message-1.0.7.tgz#fbddd053c7a47021871bb8b2c95397cc17c20e47" integrity sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA== js-queue@2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/js-queue/-/js-queue-2.0.2.tgz#0be590338f903b36c73d33c31883a821412cd482" integrity sha512-pbKLsbCfi7kriM3s1J4DDCo7jQkI58zPLHi0heXPzPlj0hjUsm+FesPUbE0DSbIVIK503A36aUBoCN7eMFedkA== dependencies: easy-stack "^1.0.1" js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" esprima "^4.0.0" jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== json-parse-even-better-errors@^2.3.0: version "2.3.1" resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-schema@0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= json3@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== json5@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= json5@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== dependencies: minimist "^1.2.0" json5@^2.1.2: version "2.2.0" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== dependencies: minimist "^1.2.5" jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= optionalDependencies: graceful-fs "^4.1.6" jsprim@^1.2.2: version "1.4.2" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== dependencies: assert-plus "1.0.0" extsprintf "1.3.0" json-schema "0.4.0" verror "1.10.0" killable@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= dependencies: is-buffer "^1.1.5" kind-of@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= dependencies: is-buffer "^1.1.5" kind-of@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== klona@^2.0.4: version "2.0.5" resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== launch-editor-middleware@^2.2.1: version "2.3.0" resolved "https://registry.yarnpkg.com/launch-editor-middleware/-/launch-editor-middleware-2.3.0.tgz#edd0ed45a46f5f1cf27540f93346b5de9e8c3be0" integrity sha512-GJR64trLdFFwCoL9DMn/d1SZX0OzTDPixu4mcfWTShQ4tIqCHCGvlg9fOEYQXyBlrSMQwylsJfUWncheShfV2w== dependencies: launch-editor "^2.3.0" launch-editor@^2.2.1, launch-editor@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.3.0.tgz#23b2081403b7eeaae2918bda510f3535ccab0ee4" integrity sha512-3QrsCXejlWYHjBPFXTyGNhPj4rrQdB+5+r5r3wArpLH201aR+nWUgw/zKKkTmilCfY/sv6u8qo98pNvtg8LUTA== dependencies: picocolors "^1.0.0" shell-quote "^1.6.1" levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= dependencies: prelude-ls "~1.1.2" type-check "~0.3.2" lines-and-columns@^1.1.6: version "1.2.4" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== loader-fs-cache@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz#f08657646d607078be2f0a032f8bd69dd6f277d9" integrity sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA== dependencies: find-cache-dir "^0.1.1" mkdirp "^0.5.1" loader-runner@^2.3.1, loader-runner@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== loader-utils@^0.2.16: version "0.2.17" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= dependencies: big.js "^3.1.3" emojis-list "^2.0.0" json5 "^0.5.0" object-assign "^4.0.1" loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== dependencies: big.js "^5.2.2" emojis-list "^3.0.0" json5 "^1.0.1" loader-utils@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129" integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A== dependencies: big.js "^5.2.2" emojis-list "^3.0.0" json5 "^2.1.2" locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" path-exists "^3.0.0" locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== dependencies: p-locate "^4.1.0" lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= lodash.defaultsdeep@^4.6.1: version "4.6.1" resolved "https://registry.yarnpkg.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6" integrity sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA== lodash.kebabcase@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" integrity sha1-hImxyw0p/4gZXM7KRI/21swpXDY= lodash.mapvalues@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" integrity sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw= lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= lodash.throttle@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= lodash.transform@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.transform/-/lodash.transform-4.6.0.tgz#12306422f63324aed8483d3f38332b5f670547a0" integrity sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A= lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@~4.17.10: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== log-symbols@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== dependencies: chalk "^2.0.1" loglevel@^1.6.8: version "1.8.0" resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.0.tgz#e7ec73a57e1e7b419cb6c6ac06bf050b67356114" integrity sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA== lower-case@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= lru-cache@^4.0.1, lru-cache@^4.1.2: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== dependencies: pseudomap "^1.0.2" yallist "^2.1.2" lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: yallist "^3.0.2" lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== dependencies: yallist "^4.0.0" make-dir@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== dependencies: pify "^4.0.1" semver "^5.6.0" make-dir@^3.0.2, make-dir@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== dependencies: semver "^6.0.0" map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= map-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= map-obj@^4.0.0: version "4.3.0" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= dependencies: object-visit "^1.0.0" material-colors@^1.0.0: version "1.2.6" resolved "https://registry.yarnpkg.com/material-colors/-/material-colors-1.2.6.tgz#6d1958871126992ceecc72f4bcc4d8f010865f46" integrity sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg== md5.js@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== dependencies: hash-base "^3.0.0" inherits "^2.0.1" safe-buffer "^5.1.2" md5@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== dependencies: charenc "0.0.2" crypt "0.0.2" is-buffer "~1.1.6" mdn-data@2.0.14: version "2.0.14" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== mdn-data@2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= memize@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/memize/-/memize-1.1.0.tgz#4a5a684ac6992a13b1299043f3e49b1af6a0b0d3" integrity sha512-K4FcPETOMTwe7KL2LK0orMhpOmWD2wRGwWWpbZy0fyArwsyIKR8YJVz8+efBAh3BO4zPqlSICu4vsLTRRqtFAg== memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= dependencies: errno "^0.1.3" readable-stream "^2.0.1" memory-fs@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== dependencies: errno "^0.1.3" readable-stream "^2.0.1" meow@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== dependencies: "@types/minimist" "^1.2.0" camelcase-keys "^6.2.2" decamelize "^1.2.0" decamelize-keys "^1.1.0" hard-rejection "^2.1.0" minimist-options "4.1.0" normalize-package-data "^3.0.0" read-pkg-up "^7.0.1" redent "^3.0.0" trim-newlines "^3.0.0" type-fest "^0.18.0" yargs-parser "^20.2.3" merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= merge-source-map@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== dependencies: source-map "^0.6.1" merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== merge2@^1.2.3: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== dependencies: 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" micromatch@^4.0.2: version "4.0.4" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== dependencies: braces "^3.0.1" picomatch "^2.2.3" miller-rabin@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== dependencies: bn.js "^4.0.0" brorand "^1.0.1" mime-db@1.51.0, "mime-db@>= 1.43.0 < 2": version "1.51.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: version "2.1.34" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== dependencies: mime-db "1.51.0" mime@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== mime@^2.4.4: version "2.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== min-indent@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== mini-css-extract-plugin@^0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz#47f2cf07aa165ab35733b1fc97d4c46c0564339e" integrity sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A== dependencies: loader-utils "^1.1.0" normalize-url "1.9.1" schema-utils "^1.0.0" webpack-sources "^1.1.0" minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= minimatch@^3.0.4, minimatch@~3.0.2: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== dependencies: arrify "^1.0.1" is-plain-obj "^1.1.0" kind-of "^6.0.3" minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== minipass@^3.0.0, minipass@^3.1.1: version "3.1.6" resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.6.tgz#3b8150aa688a711a1521af5e8779c1d3bb4f45ee" integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== dependencies: yallist "^4.0.0" minizlib@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== dependencies: minipass "^3.0.0" yallist "^4.0.0" mississippi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== dependencies: 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@^1.2.0: version "1.3.2" resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== dependencies: for-in "^1.0.2" is-extendable "^1.0.1" mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== dependencies: minimist "^1.2.5" mkdirp@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= dependencies: 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" ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== ms@2.1.3, ms@^2.1.1: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== multicast-dns-service-types@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= multicast-dns@^6.0.1: version "6.2.3" resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== dependencies: dns-packet "^1.3.1" thunky "^1.0.2" mute-stream@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== mz@^2.4.0: version "2.7.0" resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== dependencies: any-promise "^1.0.0" object-assign "^4.0.1" thenify-all "^1.0.0" nan@^2.12.1, nan@^2.13.2: version "2.15.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== dependencies: 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" natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= negotiator@0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1, neo-async@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== no-case@^2.2.0: version "2.3.2" resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== dependencies: lower-case "^1.1.1" node-forge@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== node-gyp@^7.1.0: version "7.1.2" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" integrity sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ== dependencies: env-paths "^2.2.0" glob "^7.1.4" graceful-fs "^4.2.3" nopt "^5.0.0" npmlog "^4.1.2" request "^2.88.2" rimraf "^3.0.2" semver "^7.3.2" tar "^6.0.2" which "^2.0.2" node-ipc@^9.1.1: version "9.2.1" resolved "https://registry.yarnpkg.com/node-ipc/-/node-ipc-9.2.1.tgz#b32f66115f9d6ce841dc4ec2009d6a733f98bb6b" integrity sha512-mJzaM6O3xHf9VT8BULvJSbdVbmHUKRNOH7zDDkCrA1/T+CVjq2WVIDfLt0azZRXpgArJtl3rtmEozrbXPZ9GaQ== dependencies: event-pubsub "4.3.0" js-message "1.0.7" js-queue "2.0.2" node-libs-browser@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== dependencies: 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" node-releases@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== node-sass@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-6.0.1.tgz#cad1ccd0ce63e35c7181f545d8b986f3a9a887fe" integrity sha512-f+Rbqt92Ful9gX0cGtdYwjTrWAaGURgaK5rZCWOgCNyGWusFYHhbqCCBoFBeat+HKETOU02AyTxNhJV0YZf2jQ== dependencies: async-foreach "^0.1.3" chalk "^1.1.1" cross-spawn "^7.0.3" gaze "^1.0.0" get-stdin "^4.0.1" glob "^7.0.3" lodash "^4.17.15" meow "^9.0.0" nan "^2.13.2" node-gyp "^7.1.0" npmlog "^4.0.0" request "^2.88.0" sass-graph "2.2.5" stdout-stream "^1.4.0" "true-case-path" "^1.0.2" nopt@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== dependencies: abbrev "1" normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== dependencies: hosted-git-info "^2.1.4" resolve "^1.10.0" semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" normalize-package-data@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== dependencies: hosted-git-info "^4.0.1" is-core-module "^2.5.0" semver "^7.3.4" validate-npm-package-license "^3.0.1" normalize-path@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" integrity sha1-MtDkcvkf80VwHBWoMRAY07CpA3k= normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= dependencies: remove-trailing-separator "^1.0.1" normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== normalize-range@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= normalize-url@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= dependencies: object-assign "^4.0.1" prepend-http "^1.0.0" query-string "^4.1.0" sort-keys "^1.0.0" normalize-url@^3.0.0: version "3.3.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= dependencies: path-key "^2.0.0" npm-run-path@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== dependencies: path-key "^3.0.0" npmlog@^4.0.0, npmlog@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== dependencies: are-we-there-yet "~1.1.2" console-control-strings "~1.1.0" gauge "~2.7.3" set-blocking "~2.0.0" nth-check@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== dependencies: boolbase "~1.0.0" nth-check@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== dependencies: boolbase "^1.0.0" num2fraction@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= oauth-sign@~0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= object-copy@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= dependencies: copy-descriptor "^0.1.0" define-property "^0.2.5" kind-of "^3.0.3" object-hash@^1.1.4: version "1.3.1" resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA== object-inspect@^1.11.0, object-inspect@^1.9.0: version "1.12.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== object-is@^1.0.1: version "1.1.5" resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== object-visit@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= dependencies: isobject "^3.0.0" object.assign@^4.1.0, object.assign@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== dependencies: call-bind "^1.0.0" define-properties "^1.1.3" has-symbols "^1.0.1" object-keys "^1.1.1" object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: version "2.1.3" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz#b223cf38e17fefb97a63c10c91df72ccb386df9e" integrity sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" es-abstract "^1.19.1" object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= dependencies: isobject "^3.0.1" object.values@^1.1.0: version "1.1.5" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" es-abstract "^1.19.1" obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= dependencies: ee-first "1.1.1" on-headers@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: wrappy "1" onetime@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= dependencies: mimic-fn "^1.0.0" onetime@^5.1.0: version "5.1.2" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" open@^6.3.0: version "6.4.0" resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== dependencies: is-wsl "^1.1.0" opener@^1.5.1: version "1.5.2" resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== opn@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== dependencies: is-wsl "^1.1.0" optionator@^0.8.3: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== dependencies: 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" ora@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318" integrity sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg== dependencies: chalk "^2.4.2" cli-cursor "^2.1.0" cli-spinners "^2.0.0" log-symbols "^2.2.0" strip-ansi "^5.2.0" wcwidth "^1.0.1" original@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== dependencies: url-parse "^1.4.3" os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= p-finally@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: p-limit "^2.0.0" p-locate@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: p-limit "^2.2.0" p-map@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== p-retry@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== dependencies: retry "^0.12.0" p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== pako@~1.0.5: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== parallel-transform@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== dependencies: cyclist "^1.0.1" inherits "^2.0.3" readable-stream "^2.1.5" param-case@2.1.x: version "2.1.1" resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= dependencies: no-case "^2.2.0" parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" parse-asn1@^5.0.0, parse-asn1@^5.1.5: version "5.1.6" resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== dependencies: 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-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= dependencies: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" parse-json@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@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" parse5-htmlparser2-tree-adapter@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== dependencies: parse5 "^6.0.1" parse5@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== parse5@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== pascalcase@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= path-browserify@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== path-dirname@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= path-exists@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= dependencies: pinkie-promise "^2.0.0" path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= path-is-inside@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= path-type@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== dependencies: pify "^3.0.0" pbkdf2@^3.0.3: version "3.1.2" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== dependencies: 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@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= picocolors@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= pify@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= dependencies: pinkie "^2.0.0" pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= pkg-dir@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= dependencies: find-up "^1.0.0" pkg-dir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== dependencies: find-up "^3.0.0" pkg-dir@^4.1.0, pkg-dir@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== dependencies: find-up "^4.0.0" pnp-webpack-plugin@^1.6.4: version "1.7.0" resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz#65741384f6d8056f36e2255a8d67ffc20866f5c9" integrity sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg== dependencies: ts-pnp "^1.1.6" portfinder@^1.0.26: version "1.0.28" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== dependencies: async "^2.6.2" debug "^3.1.1" mkdirp "^0.5.5" posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= postcss-calc@^7.0.1: version "7.0.5" resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg== dependencies: postcss "^7.0.27" postcss-selector-parser "^6.0.2" postcss-value-parser "^4.0.2" postcss-colormin@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== dependencies: 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@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== dependencies: postcss "^7.0.0" postcss-value-parser "^3.0.0" postcss-discard-comments@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== dependencies: postcss "^7.0.0" postcss-discard-duplicates@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== dependencies: postcss "^7.0.0" postcss-discard-empty@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== dependencies: postcss "^7.0.0" postcss-discard-overridden@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== dependencies: postcss "^7.0.0" postcss-load-config@^2.0.0: version "2.1.2" resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== dependencies: cosmiconfig "^5.0.0" import-cwd "^2.0.0" postcss-loader@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== dependencies: loader-utils "^1.1.0" postcss "^7.0.0" postcss-load-config "^2.0.0" schema-utils "^1.0.0" postcss-merge-longhand@^4.0.11: version "4.0.11" resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== dependencies: css-color-names "0.0.4" postcss "^7.0.0" postcss-value-parser "^3.0.0" stylehacks "^4.0.0" postcss-merge-rules@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== dependencies: 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" postcss-minify-font-values@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== dependencies: postcss "^7.0.0" postcss-value-parser "^3.0.0" postcss-minify-gradients@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== dependencies: 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@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== dependencies: 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@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== dependencies: alphanum-sort "^1.0.0" has "^1.0.0" postcss "^7.0.0" postcss-selector-parser "^3.0.0" postcss-modules-extract-imports@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== dependencies: postcss "^7.0.5" postcss-modules-local-by-default@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== dependencies: icss-utils "^4.1.1" postcss "^7.0.32" postcss-selector-parser "^6.0.2" postcss-value-parser "^4.1.0" postcss-modules-scope@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== dependencies: postcss "^7.0.6" postcss-selector-parser "^6.0.0" postcss-modules-values@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== dependencies: icss-utils "^4.0.0" postcss "^7.0.6" postcss-normalize-charset@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== dependencies: postcss "^7.0.0" postcss-normalize-display-values@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== dependencies: cssnano-util-get-match "^4.0.0" postcss "^7.0.0" postcss-value-parser "^3.0.0" postcss-normalize-positions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== dependencies: 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@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== dependencies: 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@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== dependencies: has "^1.0.0" postcss "^7.0.0" postcss-value-parser "^3.0.0" postcss-normalize-timing-functions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== dependencies: cssnano-util-get-match "^4.0.0" postcss "^7.0.0" postcss-value-parser "^3.0.0" postcss-normalize-unicode@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== dependencies: browserslist "^4.0.0" postcss "^7.0.0" postcss-value-parser "^3.0.0" postcss-normalize-url@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== dependencies: is-absolute-url "^2.0.0" normalize-url "^3.0.0" postcss "^7.0.0" postcss-value-parser "^3.0.0" postcss-normalize-whitespace@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== dependencies: postcss "^7.0.0" postcss-value-parser "^3.0.0" postcss-ordered-values@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== dependencies: cssnano-util-get-arguments "^4.0.0" postcss "^7.0.0" postcss-value-parser "^3.0.0" postcss-reduce-initial@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== dependencies: browserslist "^4.0.0" caniuse-api "^3.0.0" has "^1.0.0" postcss "^7.0.0" postcss-reduce-transforms@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== dependencies: cssnano-util-get-match "^4.0.0" has "^1.0.0" postcss "^7.0.0" postcss-value-parser "^3.0.0" postcss-selector-parser@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA== dependencies: dot-prop "^5.2.0" indexes-of "^1.0.1" uniq "^1.0.1" postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: version "6.0.8" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.8.tgz#f023ed7a9ea736cd7ef70342996e8e78645a7914" integrity sha512-D5PG53d209Z1Uhcc0qAZ5U3t5HagH3cxu+WLZ22jt3gLUpXM4eXXfiO14jiDWST3NNooX/E8wISfOhZ9eIjGTQ== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" postcss-svgo@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e" integrity sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw== dependencies: postcss "^7.0.0" postcss-value-parser "^3.0.0" svgo "^1.0.0" postcss-unique-selectors@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== dependencies: alphanum-sort "^1.0.0" postcss "^7.0.0" uniqs "^2.0.0" postcss-value-parser@^3.0.0: version "3.3.1" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.36, postcss@^7.0.5, postcss@^7.0.6: version "7.0.39" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== dependencies: picocolors "^0.2.1" source-map "^0.6.1" prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= prepend-http@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= "prettier@^1.18.2 || ^2.0.0": version "2.5.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== pretty-error@^2.0.2: version "2.1.2" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== dependencies: lodash "^4.17.20" renderkid "^2.0.4" process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== process@^0.11.10: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= progress@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= proxy-addr@~2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== dependencies: forwarded "0.2.0" ipaddr.js "1.9.1" prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= psl@^1.1.28: version "1.8.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== public-encrypt@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== dependencies: 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@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== dependencies: end-of-stream "^1.1.0" once "^1.3.1" pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== dependencies: end-of-stream "^1.1.0" once "^1.3.1" pumpify@^1.3.3: version "1.5.1" resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== dependencies: duplexify "^3.6.0" inherits "^2.0.3" pump "^2.0.0" punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= punycode@^1.2.4: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== q@^1.1.2: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= qs@6.9.6: version "6.9.6" resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz#26ed3c8243a431b2924aca84cc90471f35d5a0ee" integrity sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ== qs@~6.5.2: version "6.5.3" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== query-string@^4.1.0: version "4.3.4" resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= dependencies: object-assign "^4.1.0" strict-uri-encode "^1.0.0" querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= querystring@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= querystringify@^2.1.1: version "2.2.0" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== quick-lru@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" randomfill@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== dependencies: randombytes "^2.0.5" safe-buffer "^5.1.0" range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== raw-body@2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.2.tgz#baf3e9c21eebced59dd6533ac872b71f7b61cb32" integrity sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ== dependencies: bytes "3.1.1" http-errors "1.8.1" iconv-lite "0.4.24" unpipe "1.0.0" read-pkg-up@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== dependencies: find-up "^4.1.0" read-pkg "^5.2.0" type-fest "^0.8.1" read-pkg@^5.1.1, read-pkg@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== dependencies: "@types/normalize-package-data" "^2.4.0" normalize-package-data "^2.5.0" parse-json "^5.0.0" type-fest "^0.6.0" "readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== dependencies: 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" readable-stream@^3.0.6, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== dependencies: inherits "^2.0.3" string_decoder "^1.1.1" util-deprecate "^1.0.1" readdirp@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== dependencies: graceful-fs "^4.1.11" micromatch "^3.1.10" readable-stream "^2.0.2" readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" rechoir@^0.7.0: version "0.7.1" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686" integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg== dependencies: resolve "^1.9.0" redent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== dependencies: indent-string "^4.0.0" strip-indent "^3.0.0" regenerate-unicode-properties@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA== dependencies: regenerate "^1.4.2" regenerate@^1.4.2: version "1.4.2" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== regenerator-runtime@^0.13.4: version "0.13.9" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== regenerator-transform@^0.14.2: version "0.14.5" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== dependencies: "@babel/runtime" "^7.8.4" regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== dependencies: extend-shallow "^3.0.2" safe-regex "^1.1.0" regexp.prototype.flags@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== regexpu-core@^4.7.1: version "4.8.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg== dependencies: regenerate "^1.4.2" regenerate-unicode-properties "^9.0.0" regjsgen "^0.5.2" regjsparser "^0.7.0" unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.0.0" regjsgen@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== regjsparser@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968" integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ== dependencies: jsesc "~0.5.0" relateurl@0.2.x: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= renderkid@^2.0.4: version "2.0.7" resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609" integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ== dependencies: css-select "^4.1.3" dom-converter "^0.2.0" htmlparser2 "^6.1.0" lodash "^4.17.21" strip-ansi "^3.0.1" repeat-element@^1.1.2: version "1.1.4" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= request@^2.88.0, request@^2.88.2: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== dependencies: 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" require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= require-main-filename@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= resolve-cwd@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= dependencies: resolve-from "^3.0.0" resolve-cwd@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== dependencies: resolve-from "^5.0.0" resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" integrity sha1-six699nWiBvItuZTM17rywoYh0g= resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve-from@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2: version "1.21.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.21.0.tgz#b51adc97f3472e6a5cf4444d34bc9d6b9037591f" integrity sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA== dependencies: is-core-module "^2.8.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" resolve@^1.9.0: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== dependencies: is-core-module "^2.9.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= dependencies: onetime "^2.0.0" signal-exit "^3.0.2" restore-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== dependencies: onetime "^5.1.0" signal-exit "^3.0.2" ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== retry@^0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= rgb-regex@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= rgba-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= rimraf@2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: glob "^7.1.3" rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== dependencies: glob "^7.1.3" rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== dependencies: hash-base "^3.0.0" inherits "^2.0.1" run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= dependencies: aproba "^1.1.1" rxjs@^6.6.0: version "6.6.7" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== dependencies: tslib "^1.9.0" safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== safe-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= dependencies: ret "~0.1.10" "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sass-graph@2.2.5: version "2.2.5" resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8" integrity sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag== dependencies: glob "^7.0.0" lodash "^4.0.0" scss-tokenizer "^0.2.3" yargs "^13.3.2" sass-loader@^10: version "10.2.0" resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.2.0.tgz#3d64c1590f911013b3fa48a0b22a83d5e1494716" integrity sha512-kUceLzC1gIHz0zNJPpqRsJyisWatGYNFRmv2CKZK2/ngMJgLqxTbXwe/hJ85luyvZkgqU3VlJ33UVF2T/0g6mw== dependencies: klona "^2.0.4" loader-utils "^2.0.0" neo-async "^2.6.2" schema-utils "^3.0.0" semver "^7.3.2" sax@~1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== schema-utils@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== dependencies: ajv "^6.1.0" ajv-errors "^1.0.0" ajv-keywords "^3.1.0" schema-utils@^2.0.0, schema-utils@^2.5.0, schema-utils@^2.6.5, schema-utils@^2.7.0: version "2.7.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== dependencies: "@types/json-schema" "^7.0.5" ajv "^6.12.4" ajv-keywords "^3.5.2" schema-utils@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== dependencies: "@types/json-schema" "^7.0.8" ajv "^6.12.5" ajv-keywords "^3.5.2" scss-tokenizer@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE= dependencies: js-base64 "^2.1.8" source-map "^0.4.2" select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= selfsigned@^1.10.8: version "1.10.14" resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.14.tgz#ee51d84d9dcecc61e07e4aba34f229ab525c1574" integrity sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA== dependencies: node-forge "^0.10.0" "semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== semver@7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== semver@^7.3.2, semver@^7.3.4: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== dependencies: lru-cache "^6.0.0" send@0.17.2: version "0.17.2" resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820" integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww== dependencies: 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.8.1" mime "1.6.0" ms "2.1.3" on-finished "~2.3.0" range-parser "~1.2.1" statuses "~1.5.0" serialize-javascript@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== dependencies: randombytes "^2.1.0" serve-index@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= dependencies: 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" serve-static@1.14.2: version "1.14.2" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa" integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ== dependencies: encodeurl "~1.0.2" escape-html "~1.0.3" parseurl "~1.3.3" send "0.17.2" set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= set-value@^2.0.0, set-value@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== dependencies: extend-shallow "^2.0.1" is-extendable "^0.1.1" is-plain-object "^2.0.3" split-string "^3.0.1" setimmediate@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= setprototypeof@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== setprototypeof@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== sha.js@^2.4.0, sha.js@^2.4.8: version "2.4.11" resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== dependencies: inherits "^2.0.1" safe-buffer "^5.0.1" shallow-clone@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== dependencies: kind-of "^6.0.2" shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= dependencies: shebang-regex "^1.0.0" shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= shebang-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shell-quote@^1.6.1: version "1.7.3" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== side-channel@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== dependencies: call-bind "^1.0.0" get-intrinsic "^1.0.2" object-inspect "^1.9.0" signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.6" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== simple-swizzle@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= dependencies: is-arrayish "^0.3.1" slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= slash@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== slice-ansi@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== dependencies: ansi-styles "^3.2.0" astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== dependencies: define-property "^1.0.0" isobject "^3.0.0" snapdragon-util "^3.0.1" snapdragon-util@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== dependencies: kind-of "^3.2.0" snapdragon@^0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== dependencies: 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" sockjs-client@^1.5.0: version "1.5.2" resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.2.tgz#4bc48c2da9ce4769f19dc723396b50f5c12330a3" integrity sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ== dependencies: debug "^3.2.6" eventsource "^1.0.7" faye-websocket "^0.11.3" inherits "^2.0.4" json3 "^3.3.3" url-parse "^1.5.3" sockjs@^0.3.21: version "0.3.24" resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== dependencies: faye-websocket "^0.11.3" uuid "^8.3.2" websocket-driver "^0.7.4" sort-keys@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= dependencies: is-plain-obj "^1.0.0" source-list-map@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== source-map-resolve@^0.5.0: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== dependencies: 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@~0.5.12: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" source-map-url@^0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== source-map@^0.4.2: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" integrity sha1-66T12pwNyZneaAMti092FzZSA2s= dependencies: amdefine ">=0.0.4" source-map@^0.5.0, source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== source-map@^0.7.3: version "0.7.3" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== spdx-correct@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: version "2.3.0" resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== spdx-expression-parse@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: version "3.0.11" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== spdy-transport@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== dependencies: 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" spdy@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== dependencies: debug "^4.1.0" handle-thing "^2.0.0" http-deceiver "^1.2.7" select-hose "^2.0.0" spdy-transport "^3.0.0" split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== dependencies: extend-shallow "^3.0.0" sprintf-js@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sshpk@^1.7.0: version "1.17.0" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== dependencies: 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@^6.0.1: version "6.0.2" resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== dependencies: figgy-pudding "^3.5.1" ssri@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== dependencies: minipass "^3.1.1" stable@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== stackframe@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz#52429492d63c62eb989804c11552e3d22e779303" integrity sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA== static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= dependencies: define-property "^0.2.5" object-copy "^0.1.0" "statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= stdout-stream@^1.4.0: version "1.4.1" resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA== dependencies: readable-stream "^2.0.1" stream-browserify@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== dependencies: inherits "~2.0.1" readable-stream "^2.0.2" stream-each@^1.1.0: version "1.2.3" resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== dependencies: end-of-stream "^1.1.0" stream-shift "^1.0.0" stream-http@^2.7.2: version "2.8.3" resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== dependencies: builtin-status-codes "^3.0.0" inherits "^2.0.1" readable-stream "^2.3.6" to-arraybuffer "^1.0.0" xtend "^4.0.0" stream-shift@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= string-width@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= dependencies: code-point-at "^1.0.0" is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== dependencies: emoji-regex "^7.0.1" is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" string.prototype.trimend@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" string.prototype.trimstart@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" string_decoder@^1.0.0, string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: safe-buffer "~5.2.0" string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== dependencies: safe-buffer "~5.1.0" strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= dependencies: ansi-regex "^2.0.0" strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== dependencies: ansi-regex "^4.1.0" strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= strip-final-newline@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== strip-indent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= strip-indent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== dependencies: min-indent "^1.0.0" strip-json-comments@^3.0.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== stylehacks@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== dependencies: browserslist "^4.0.0" postcss "^7.0.0" postcss-selector-parser "^3.0.0" supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" supports-color@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== dependencies: has-flag "^3.0.0" supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== svg-tags@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= svgo@^1.0.0: version "1.3.2" resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== dependencies: 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" table@^5.2.3: version "5.4.6" resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== dependencies: ajv "^6.10.2" lodash "^4.17.14" slice-ansi "^2.1.0" string-width "^3.0.0" tannin@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/tannin/-/tannin-1.2.0.tgz#1da6fe65280dca4c3d84efb075b077b1b94362a6" integrity sha512-U7GgX/RcSeUETbV7gYgoz8PD7Ni4y95pgIP/Z6ayI3CfhSujwKEBlGFTCRN+Aqnuyf4AN2yHL+L8x+TCGjb9uA== dependencies: "@tannin/plural-forms" "^1.1.0" tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== tar@^6.0.2: version "6.1.11" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" minipass "^3.0.0" minizlib "^2.1.1" mkdirp "^1.0.3" yallist "^4.0.0" terser-webpack-plugin@^1.4.3, terser-webpack-plugin@^1.4.4: version "1.4.5" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== dependencies: cacache "^12.0.2" find-cache-dir "^2.1.0" is-wsl "^1.1.0" schema-utils "^1.0.0" serialize-javascript "^4.0.0" source-map "^0.6.1" terser "^4.1.2" webpack-sources "^1.4.0" worker-farm "^1.7.0" terser@^4.1.2: version "4.8.0" resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== dependencies: commander "^2.20.0" source-map "~0.6.1" source-map-support "~0.5.12" text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= thenify-all@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= dependencies: thenify ">= 3.1.0 < 4" "thenify@>= 3.1.0 < 4": version "3.3.1" resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== dependencies: any-promise "^1.0.0" thread-loader@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/thread-loader/-/thread-loader-2.1.3.tgz#cbd2c139fc2b2de6e9d28f62286ab770c1acbdda" integrity sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg== dependencies: loader-runner "^2.3.1" loader-utils "^1.1.0" neo-async "^2.6.0" through2@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== dependencies: readable-stream "~2.3.6" xtend "~4.0.1" through@^2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= thunky@^1.0.2: version "1.1.0" resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== timers-browserify@^2.0.4: version "2.0.12" resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== dependencies: setimmediate "^1.0.4" timsort@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= tinycolor2@^1.1.2: version "1.4.2" resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.2.tgz#3f6a4d1071ad07676d7fa472e1fac40a719d8803" integrity sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA== tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== dependencies: os-tmpdir "~1.0.2" to-arraybuffer@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= dependencies: kind-of "^3.0.2" to-regex-range@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= dependencies: is-number "^3.0.0" repeat-string "^1.6.1" to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" to-regex@^3.0.1, to-regex@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== dependencies: define-property "^2.0.2" extend-shallow "^3.0.2" regex-not "^1.0.2" safe-regex "^1.1.0" toidentifier@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== toposort@^1.0.0: version "1.0.7" resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk= tough-cookie@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== dependencies: psl "^1.1.28" punycode "^2.1.1" trim-newlines@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== "true-case-path@^1.0.2": version "1.0.3" resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew== dependencies: glob "^7.1.2" tryer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== ts-pnp@^1.1.6: version "1.2.0" resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== tslib@^1.9.0: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= dependencies: safe-buffer "^5.0.1" tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= dependencies: prelude-ls "~1.1.2" type-fest@^0.18.0: version "0.18.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== type-fest@^0.21.3: version "0.21.3" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== type-fest@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== type-fest@^0.8.1: version "0.8.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== dependencies: media-typer "0.3.0" mime-types "~2.1.24" typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= uglify-js@3.4.x: version "3.4.10" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw== dependencies: commander "~2.19.0" source-map "~0.6.1" unbox-primitive@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== dependencies: function-bind "^1.1.1" has-bigints "^1.0.1" has-symbols "^1.0.2" which-boxed-primitive "^1.0.2" unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== unicode-match-property-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== dependencies: unicode-canonical-property-names-ecmascript "^2.0.0" unicode-property-aliases-ecmascript "^2.0.0" unicode-match-property-value-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== unicode-property-aliases-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== union-value@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== dependencies: arr-union "^3.1.0" get-value "^2.0.6" is-extendable "^0.1.1" set-value "^2.0.1" uniq@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= uniqs@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= unique-filename@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== dependencies: unique-slug "^2.0.0" unique-slug@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== dependencies: imurmurhash "^0.1.4" universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= unquote@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= unset-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= dependencies: has-value "^0.3.1" isobject "^3.0.0" upath@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== upper-case@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" urix@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= url-loader@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-2.3.0.tgz#e0e2ef658f003efb8ca41b0f3ffbf76bab88658b" integrity sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog== dependencies: loader-utils "^1.2.3" mime "^2.4.4" schema-utils "^2.5.0" url-parse@^1.4.3, url-parse@^1.5.3: version "1.5.4" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.4.tgz#e4f645a7e2a0852cc8a66b14b292a3e9a11a97fd" integrity sha512-ITeAByWWoqutFClc/lRZnFplgXgEZr3WJ6XngMM/N9DMIm4K8zXPCZ1Jdu0rERwO84w1WC5wkle2ubwTA4NTBg== dependencies: querystringify "^2.1.1" requires-port "^1.0.0" url@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= dependencies: punycode "1.3.2" querystring "0.2.0" use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= util.promisify@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== dependencies: define-properties "^1.1.2" object.getownpropertydescriptors "^2.0.3" util.promisify@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== dependencies: define-properties "^1.1.3" es-abstract "^1.17.2" has-symbols "^1.0.1" object.getownpropertydescriptors "^2.1.0" util@0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= dependencies: inherits "2.0.1" util@^0.11.0: version "0.11.1" resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== dependencies: inherits "2.0.3" utila@~0.4: version "0.4.0" resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= uuid@^3.3.2: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== v8-compile-cache@^2.0.3: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= vendors@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= dependencies: assert-plus "^1.0.0" core-util-is "1.0.2" extsprintf "^1.2.0" vm-browserify@^1.0.1: version "1.1.2" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== vue-color@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/vue-color/-/vue-color-2.8.1.tgz#a090f3dcf8ed6f07afdb865cac84b19a73302e70" integrity sha512-BoLCEHisXi2QgwlhZBg9UepvzZZmi4176vbr+31Shen5WWZwSLVgdScEPcB+yrAtuHAz42309C0A4+WiL9lNBw== dependencies: clamp "^1.0.1" lodash.throttle "^4.0.0" material-colors "^1.0.0" tinycolor2 "^1.1.2" vue-eslint-parser@^7.0.0: version "7.11.0" resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz#214b5dea961007fcffb2ee65b8912307628d0daf" integrity sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg== dependencies: debug "^4.1.1" eslint-scope "^5.1.1" eslint-visitor-keys "^1.1.0" espree "^6.2.1" esquery "^1.4.0" lodash "^4.17.21" semver "^6.3.0" vue-frag@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/vue-frag/-/vue-frag-1.4.1.tgz#c0c2e633ce36b0b5eb8373c539c90d3bab25a7f8" integrity sha512-1EAPTI/F6huKp8U7lgjCDT119mrJgjrsNJY0j4MD+mNAVqE9LyIBXuWlMpPTFiTH45XDEhiKa4UZoUoW8V72Jg== vue-hot-reload-api@^2.3.0: version "2.3.4" resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== "vue-loader-v16@npm:vue-loader@^16.1.0": version "16.8.3" resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-16.8.3.tgz#d43e675def5ba9345d6c7f05914c13d861997087" integrity sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA== dependencies: chalk "^4.1.0" hash-sum "^2.0.0" loader-utils "^2.0.0" vue-loader@^15.9.2: version "15.9.8" resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.8.tgz#4b0f602afaf66a996be1e534fb9609dc4ab10e61" integrity sha512-GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog== dependencies: "@vue/component-compiler-utils" "^3.1.0" hash-sum "^1.0.2" loader-utils "^1.1.0" vue-hot-reload-api "^2.3.0" vue-style-loader "^4.1.0" vue-router@^3.2.0: version "3.5.3" resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.5.3.tgz#041048053e336829d05dafacf6a8fb669a2e7999" integrity sha512-FUlILrW3DGitS2h+Xaw8aRNvGTwtuaxrRkNSHWTizOfLUie7wuYwezeZ50iflRn8YPV5kxmU2LQuu3nM/b3Zsg== vue-style-loader@^4.1.0, vue-style-loader@^4.1.2: version "4.1.3" resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.3.tgz#6d55863a51fa757ab24e89d9371465072aa7bc35" integrity sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg== dependencies: hash-sum "^1.0.2" loader-utils "^1.0.2" vue-template-compiler@^2.6.11: version "2.6.14" resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz#a2f0e7d985670d42c9c9ee0d044fed7690f4f763" integrity sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g== dependencies: de-indent "^1.0.2" he "^1.1.0" vue-template-es2015-compiler@^1.9.0: version "1.9.1" resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825" integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== vue@^2.6.11: version "2.6.14" resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.14.tgz#e51aa5250250d569a3fbad3a8a5a687d6036e235" integrity sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ== vuex@^3.6.2: version "3.6.2" resolved "https://registry.yarnpkg.com/vuex/-/vuex-3.6.2.tgz#236bc086a870c3ae79946f107f16de59d5895e71" integrity sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw== watchpack-chokidar2@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== dependencies: chokidar "^2.1.8" watchpack@^1.7.4: version "1.7.5" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== dependencies: graceful-fs "^4.1.2" neo-async "^2.5.0" optionalDependencies: chokidar "^3.4.1" watchpack-chokidar2 "^2.0.1" wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== dependencies: minimalistic-assert "^1.0.0" wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= dependencies: defaults "^1.0.3" webpack-bundle-analyzer@^3.8.0: version "3.9.0" resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz#f6f94db108fb574e415ad313de41a2707d33ef3c" integrity sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA== dependencies: acorn "^7.1.1" acorn-walk "^7.1.1" bfj "^6.1.1" chalk "^2.4.1" commander "^2.18.0" ejs "^2.6.1" express "^4.16.3" filesize "^3.6.1" gzip-size "^5.0.0" lodash "^4.17.19" mkdirp "^0.5.1" opener "^1.5.1" ws "^6.0.0" webpack-chain@^6.4.0: version "6.5.1" resolved "https://registry.yarnpkg.com/webpack-chain/-/webpack-chain-6.5.1.tgz#4f27284cbbb637e3c8fbdef43eef588d4d861206" integrity sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA== dependencies: deepmerge "^1.5.2" javascript-stringify "^2.0.1" webpack-cli@^4.10.0: version "4.10.0" resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31" integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w== dependencies: "@discoveryjs/json-ext" "^0.5.0" "@webpack-cli/configtest" "^1.2.0" "@webpack-cli/info" "^1.5.0" "@webpack-cli/serve" "^1.7.0" colorette "^2.0.14" commander "^7.0.0" cross-spawn "^7.0.3" fastest-levenshtein "^1.0.12" import-local "^3.0.2" interpret "^2.2.0" rechoir "^0.7.0" webpack-merge "^5.7.3" webpack-dev-middleware@^3.7.2: version "3.7.3" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ== dependencies: memory-fs "^0.4.1" mime "^2.4.4" mkdirp "^0.5.1" range-parser "^1.2.1" webpack-log "^2.0.0" webpack-dev-server@^3.11.0: version "3.11.3" resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz#8c86b9d2812bf135d3c9bce6f07b718e30f7c3d3" integrity sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA== dependencies: ansi-html-community "0.0.8" bonjour "^3.5.0" chokidar "^2.1.8" compression "^1.7.4" connect-history-api-fallback "^1.6.0" debug "^4.1.1" del "^4.1.1" express "^4.17.1" html-entities "^1.3.1" http-proxy-middleware "0.19.1" import-local "^2.0.0" internal-ip "^4.3.0" ip "^1.1.5" is-absolute-url "^3.0.3" killable "^1.0.1" loglevel "^1.6.8" opn "^5.5.0" p-retry "^3.0.1" portfinder "^1.0.26" schema-utils "^1.0.0" selfsigned "^1.10.8" semver "^6.3.0" serve-index "^1.9.1" sockjs "^0.3.21" sockjs-client "^1.5.0" spdy "^4.0.2" strip-ansi "^3.0.1" supports-color "^6.1.0" url "^0.11.0" webpack-dev-middleware "^3.7.2" webpack-log "^2.0.0" ws "^6.2.1" yargs "^13.3.2" webpack-log@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== dependencies: ansi-colors "^3.0.0" uuid "^3.3.2" webpack-merge@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== dependencies: lodash "^4.17.15" webpack-merge@^5.7.3: version "5.8.0" resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== dependencies: clone-deep "^4.0.1" wildcard "^2.0.0" webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: version "1.4.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== dependencies: source-list-map "^2.0.0" source-map "~0.6.1" webpack@^4.0.0: version "4.46.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-module-context" "1.9.0" "@webassemblyjs/wasm-edit" "1.9.0" "@webassemblyjs/wasm-parser" "1.9.0" acorn "^6.4.1" ajv "^6.10.2" ajv-keywords "^3.4.1" chrome-trace-event "^1.0.2" enhanced-resolve "^4.5.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.3" 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.3" watchpack "^1.7.4" webpack-sources "^1.4.1" websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== dependencies: http-parser-js ">=0.5.1" safe-buffer ">=5.1.0" websocket-extensions ">=0.1.1" websocket-extensions@>=0.1.1: version "0.1.4" resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== which-boxed-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== dependencies: is-bigint "^1.0.1" is-boolean-object "^1.1.0" is-number-object "^1.0.4" is-string "^1.0.5" is-symbol "^1.0.3" which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" which@^2.0.1, which@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" wide-align@^1.1.0: version "1.1.5" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== dependencies: string-width "^1.0.2 || 2 || 3 || 4" wildcard@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== worker-farm@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== dependencies: errno "~0.1.7" wrap-ansi@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== dependencies: ansi-styles "^3.2.0" string-width "^3.0.0" strip-ansi "^5.0.0" wrap-ansi@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== dependencies: ansi-styles "^4.0.0" string-width "^4.1.0" strip-ansi "^6.0.0" wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" string-width "^4.1.0" strip-ansi "^6.0.0" wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= write@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== dependencies: mkdirp "^0.5.1" ws@^6.0.0, ws@^6.2.1: version "6.2.2" resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== dependencies: async-limiter "~1.0.0" xtend@^4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== y18n@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= yallist@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yargs-parser@^13.1.2: version "13.1.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" yargs-parser@^20.2.2, yargs-parser@^20.2.3: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== yargs@^13.3.2: version "13.3.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== dependencies: 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" yargs@^16.0.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== dependencies: cliui "^7.0.2" escalade "^3.1.1" get-caller-file "^2.0.5" require-directory "^2.1.1" string-width "^4.2.0" y18n "^5.0.5" yargs-parser "^20.2.2" yorkie@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/yorkie/-/yorkie-2.0.0.tgz#92411912d435214e12c51c2ae1093e54b6bb83d9" integrity sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw== dependencies: execa "^0.8.0" is-ci "^1.0.10" normalize-path "^1.0.0" strip-indent "^2.0.0" admin/dist/img/arrow-bold.svg000064400000000462150514563140012152 0ustar00 admin/dist/img/banner-status.svg000064400000012262150514563140012671 0ustar00 admin/dist/img/search.svg000064400000000461150514563140011346 0ustar00 admin/dist/img/info.svg000064400000001307150514563140011034 0ustar00 admin/dist/img/logo.png000064400000015301150514563140011025 0ustar00‰PNG  IHDRÈÈ­X®žtEXtSoftwareAdobe ImageReadyqÉe<#iTXtXML:com.adobe.xmp VŒ*4IDATxÚì]kŒ]Õu^çuï¼=žå] ¸<Ùáe§R~äO¤üèŸþhÔà±cÜ„’Xr! !á´„Pˆ„¨ ‰*‘iA¹¦iÄKc{ÀŽgì¹ó¸÷<º¾}ö˜±çqï=ëÜ»>´ÄøÞsÏYgíýý8ûÛËI’„ ÅÌp5 …D¡P‚(J…B ¢P(A %ˆB¡Q(” …D¡P(A %ˆB±høkÿóöùÿç°Å’s‡(q¨ôÓw)Ü["wIÀÿÎØ©ˆð]*®èý{jó~O!Bæ/âÔgšŒVLý~ä_ŒÏ^Æ>óåãÑ gwRÇ×–Sâ²q‹f=¶·|ÛŠ¬W¬aBn·OÁyݾ=–Ò7ëºè:””#ŠFÊ›ý³º¾–Øú'ŽCNÁ£ðàÄföý¯_@§eÉåësÙ:%Ç*R£÷¢õuü!Î5b<Qášeäó“&F³&ˆ“Zx ô·ÉDx¡ƒ'qÌ I„ûá+|®úŸyëÁe‰2EÙ¢Œeõ]þDp£ú8’÷äc›ŒÉéö¨xÝ 9IúÔÉÜ-~'ã…ïýÔq…÷°Ø7ø_᳈փËÐaB˜2å²E áÐñƒôgÙž‘XÀñ÷UW.¡àâ^î·–EÓ)ºO\V¾ê´û¦#Ñà|„¯ðYDyrú\–(S”­Prü—åÄÇf±†DºÊOœ„›âµËÈé(™Ð»i×*|¿ôcŠbDz°®•ñ‰}3>âßnö5e‡2l»næ_DôfÁúé¢>îÃwÙ¶KlE’£!yçvRñŠ~þ[ÆSß蓃ÑðÄ­ŽoÇ"µ°¨†±¾ÁGø*£+T¼¼ß”¥”rœ÷X.¤n_÷ômÇYdf["m¦³4ÑØß¦øh™œ.?󤤓Ûá%…‹ûN%ßN§}³xD§”_ûãxÁ7óŠyŸ…²C %êüßnÎrð:‘·€z›KEä¡M•워?0ø¬¼_ÚÉ=JðÞÁÉÈpmöÁø‚±/ &r¡¬Š×rÏ¥ÝMËP&®Ÿq>f–ƒ_bû¹ÈVd¤LþE=¬Z*§AWëÐÄŠähùën§o^Ρr6Ôøš¸6ûðwðEDתÚzpYù÷˜²Úz<Îö?ó!ð LŠ»•ˆLwÓ¾ô%‘ˆ%(Wö•¶S9*šDqc ×äk³ÿlênöë­P6(#”ÊL`m²5Š6ÎZ´'øáGlß9`?’wv®0³#ÖC9Eâ#S]<8¾Ûió9²nC ×äkÿûÐ _$̦¡lPF(+”™ÐÖãV[×çMàv¶ân Á/…T¼ªŸü3;)|îæTößLFŸI°$%uµþ†kñ5ùÚ›2_©[íZq™ lPF(+¡‹:Q·ï8açàäU‘6ˆlE°¶¨70Ó¾f©t$`VàšÊîÛ‰»éú„uìVÙsãZ¸&®-bæ*J—¯£lPF(+¡­Ç: uçÍ'Ùöˆ°†|n)+Mû]tu®å®Î—Ü‚gfp§NÆçÆ5â‘©/ášrÖ[UL™«—š2JŽ=¶nÓb ÈœöÅ;înך¥x³9 a¿Âã?!ÏMÅJ0×ÃüôüáþñÍ; ë­¸ Pm× Rˆ©øÅÔé¹ä ¶"»Zü´òÏï¢Â¥}²Z‘ÓgFM|§¦ë´>a8wôáÄw¢C“gIj=PÞ]”È]­û[§kFàF¶ q·Še S‘éïzmé€P´/;¾?vG&½Nà¥KÐkÕr {ÅçĹqésgý°âØ£ Ìr r,U5Îös.ÊyœxŒm³ÈV¤‘{Zµ]=¾Éz¼žT×i•ƒèàø½„§{U\U ùp~>7®a^ ¸gÄe€²HÆÄŽ=6Ûº\s‚?b{SÜ-'©Œ3XÓGÁònŠ¥,‰ÇøàƒÒß$GË+<×Ì>-v9{œÊhÇÊ—àÜ"T‚fwu9ö(#–9­‹º{ß¼:õÜ4º€Œ<·Ë7ë´ª›H H2™)XÇ<ýkÀZ']5Ì]«‡pnI2Z¡Œ A®ŒvÞuw!Ñ}žm·D’@Âé¯\B…•‚ä¹Üý ?œ\VþÚiÒ±‚·@Ô1Ÿçâs®’³ÞªLÁ%½&ö‚e´»mÝ­;A€õ"Cy.ÿ‡ \Ès'És÷•îK¢Èƒ|8á®RÏÓ¢TzŒsà\bd´h¹;3ÕŽØçAFÛ‚¼Ç¶Mä€}4$ïœN*\Ù/c« š–çöÇ'~àz.wG¸KÍÓø7ø-ÎsI‘Ñ"ÆB#æ‰Ü—‚ÛlmA€ï²‘8`OÆC*^3@þ©BÉÙñGe_é“JršYÌX}‰8óÒňø-Î1-]Ìúa„õVãÂçLÌ…ÌQGoYp`æN>Ý ²<·¿À$Y–î‚"Dž‹÷Ñðøƒf[UgËùXü¿5ë­$Éh9Æî€h-êh% ‚²ýVä€òÜË–Rp¾œuZØL!ü ôåh´|µYT8W~ð±ø ~K’d´[Ä8–»”ý[G)+‚׋ ÞätÚ×$Ïe¿¢}¥ÓZŽ“mgÃoÌ:'2Z¬û»[ޱ`í¢_IÔ‚ /³íÙŠ`Ö…=T\Ý'fU©Ù•ñ£‰ó¢Ã“ëOú¼úFþðä~#g½·Î«—šØŠi?³u3s‚,ºŸW7/Ïí-ÈÐ%8Óë´î¡rÔ~Byn*£mçc·§í XoÅ1ôz fÁ2ZÔÅMµ8Q­r˜m«È;÷Ý3Û©y®eZ…øH¹=ž¸Çìíë¦3U3Èh±·.”ÛE¡ŽSrzSÁ2Ú­¶NŠ!pÛ>q¡2Úè Öô“V§˜w#Äc‰ðÀøúd"ü TþO­I„:‘¿Ã1f %$mÇ1,¬ xLìz«}¶.’4‚òÞ°›Ý5xPÙë§{3…$Cž‹VÓ¾ûJi…ª„ÖÊhñ¾‹¥Lë"f»6Ž!b‰˜ m=jZkù_²½ uÀ¬î¥àÂ%2–Ét…«£#S_&("¡FÄò¼yçÏð˜'2âWàØ«z%Ì_°uP,A¡òÜ„+¥»2=1i0Ð ÷?ðÉ·çøÌ ‚¥¤-à˜¶À#‰ùëV÷êA?°Ý/²«U•ç^&)‚™Æ==ßâ@xȆ¿ñ™”ÕºÈ!ˆ˜!v‰ÜÖã~[÷Äø6[I\Íò+Ï]&Džk_†ï—~PýÈüí™Öå¹Uí¤Ø|‚%[ç(/î÷&‘­ÈXDîŸMI3Д2í{¬ì‡NÞ Ãß"Z$à@ÚÄ ±ÚzÜdë\íËæ tjÿc;_\8¹òa_©ñߥÊÞ1r{ä`‡¾Ã³¤ˆb›0ÚÙ]Ô5´œbøWÙ| [uA݆‰uv^æ:- :;m“×Y@ÁOkÖc±}(DZŒ–:ò—¶ /ùÛHìj™uZ—ôPðÙ^~R†"¦}§·õ‘0­Ë1 Vöš žÖ}Êֱܨ 2´XuÂ݆6¬Óê¶ò\É9Ï9NãX¸v Äȼ\•‰ºgfnA>`»SdE@öÜÏtyn"w«šÆÌ‘vÍù›DnÊ4Ô©ýÍ@à{l‡$V†x<¢âÕäÖ!y³³Æ=48ÞéüÐà˜ 6B‡l¢f!iÁòÜ Í‚$w»ÌÆ N7ŸF,œ@²Œv#5¨ã×ÈÉögû_‘vÈs‘FáÑÒ†L\ ˆ…à´¿a{¬QkôÛ(¹òÜ‚cöÓ2²ØJë5#FFë§1@,„¾óºÖ¯ÑùÛ#RŸžþ_vSA<·±÷š{G ·¢Ø:Ô´ …,‹ }ô§þ·'EžÛ¨qXUF[M[ SF[¦Éh¥d„íf‘e,$÷Œv3«%8ñdûVVF‹´ÑÊÉ»ÙÖ¦'p7Û^‰•²Ò²çžÝ%&B}'(ÒõV¸gÁ2Ú½¶ÎP«)Ï5iz¬YÛòÜZ÷&±¢¹Ý¾ uE·”CY^»”⑜Nûšéë²¹ÿâÉÓר¿V‚Ì Èså=¢­<פQè)äOž[•ÑvÒi]¹2Ú˜„I´¥ä Ûm"+÷×ýåT\“Cyn’îŽhÒüy‡ä´·Ù: 9¾Ï6,±’a§uHQ½3r$ÏE× ÙhÏHe´&­Ì¡Ç°Ä‡£D‚ ø6ŠlEÆ#r–Ôö…AJʉÔeá|d_‹ì3|¼Œ# Œ¨+´XÁö¢È§1ºZŸë¥`EüuZv‚¾ì³àiÝm™“dî9í‹L³›ÊsO´<×ÈhÙG“)ÜTFÛTyí!‘Oå‘2ùtÙÍ „¾<¬&½aý º%OO?dËZ ²|‹,7˜i”„§³‘çöåõë«2ZöÍLëVÄ.“™´eLJ…á(Û‘vÈsO‡ é |Rmkä]¶í"ìG+ä yn†Ùs§e´ýÆ—D®ve»-K%Hf=FÅyeTzçwJ³FÕ´|mø_„NëÊœ•l"‚L±}Sd+‚4 ƒvûÎÉ¿wˆÓåì¸6|œ¶`“-C%Hñ3¶WEØ!Ͻ¼‚ó˜F¡š¶€¯Y0;°ˆ}ç2{8o•-äÊsÛlö\$ãlÄ:-¬·âka’×,£]—ÇŠ–W‚¼Äös‘­ÈH*Ï V5`VµõXee´r×[=nËL Ò@|ƒ$*2F!L×i¹K é€Ù©9pn\ì· Ŧ-€WóZÉòL(Uʰ É;»ƒ W ¤3Zõx‘¤3W¸®%XF{«-+%H¸í€8¯ª97FáÌN#y­iå­Êhùܸ†à\&(›;ò\ÁòNT‹ ⼪Ês{3õJÈskXƒq®J’NëöŠ–ÑÊÜ¥¦…<ɶGä€}4¤ÙsWÔpÚ·:072ZÑÙh÷ز!%Hö9…X‰)ñˆŠkÉ)xiþ¿Å6™üÃw±ÜõV»ll• M™ýäiyî y½©<†¿ñ™`mEäøN ²`fÛ*rÀyî™íT´ò\þÆg‚e´[mL• M„»Øö‰ó «HÆ*T¸ªŸÜ¾¢1üÏ„Nëî³±l øÔZÀÛާĵ"1¹ÈžûÅSÒº<Šˆ{¬o¥ Ójù%Û l׈°#Â¥KÍ?¯·zÁưeàRëAæÔd’NïšéÞDc§É`»_â€â$5™­Çý6vJÀ·ÙJ¤˜+J6f¤i @7}“Öû9ã&3%H áVì2,°Kú@«Þ¼Ûâ…½Ö‘dvüФ½‘…§lŒ” -Œ! ÆF 2;ö³Ý©aøî´±Q‚(è{l‡4 Ó8dcBJR޳ ÕmL” ‚i<Æö ƒ‰Ác%ÈLX§!Ð(AfÇïØiáûÄÆ@¡™›(Ý2¨ÕP¶÷®P‚œ#l7·à}ßlï]¡9)îfÛÛB÷»×Þ³B 2g¬×{U(AfÇÓlϵÀ}>gïU¡™7†ô• ŠÙñÛ½M|÷Ú{T(A $¥<Ö„÷uŒ$&=U‚ä“ÔDiÃöÞJEc'ÛëMt?¯Û{R(Aj†ëõ^” ŠÙñk¶'šà>ž°÷¢P‚Ôhæ„iyAlïA¡© ²Ý–cÿo³÷ P‚Ôµ’ çÐïᜓ[ ’ çSå¹Ij¾*%HÓál/æÈß­Ï %HðN}U‚(fÇklåÀχ¬¯ %HÃñ-’½\cÒú¨P‚d‚£l[û·Åú¨P‚d†²½#Яw¬o %HæRŸ” ŠÙñ,Û3‚üyÆú¤P‚è[[%Hð.Ûv~l·¾(” âõ¬‘ôY5%H‹cŠ²Ý¾s“õA¡‹‡Ù^ÍຯÚk+” â±®E®©Q,/±=ÞÀë=n¯©P‚äÒ_äUŸ¢iq|Ävk®s«½–B ’;ÜÁv Žç?`¯¡P‚ä Õw‘ ö %Hnñ$Ûž:œw=·B ’{¬ËÉ9JLðÛŽžo‡=§B Ò4Ànêã58Ï85çnóJÇÕ&Çf{.…¤épÛ›‹øý›ö %ˆØu`®iE<϶{¿Ûm«P‚4=Ö7è7 %H.ñÛ¶y¿ÍþF¡iÜÂvdDZÇ*” -… Û s8î{¬B Òrx”í•|ÿŠ=F¡iY¬[àw %HKàe¶]3|¾Ë~§P‚´<>9ΘëøD¡i fÛzÜ¿·ÚÏJ…Å]”nÀÙ¿àkDAß– ƒ“$*iV(´‹¥P(A %ˆB¡Q(” …D¡P‚(J…B ¢P(” …D¡P‚(J…"ü¿* åƒ:ç; IEND®B`‚admin/dist/img/box-top-right.svg000064400000000405150514563140012602 0ustar00 admin/dist/img/close.svg000064400000000652150514563140011210 0ustar00admin/dist/img/logo.svg000064400000007322150514563140011044 0ustar00 admin/dist/img/warning.svg000064400000002025150514563140011544 0ustar00 admin/dist/img/tick.svg000064400000000624150514563140011034 0ustar00 admin/dist/img/loader.svg000064400000002370150514563140011350 0ustar00 admin/dist/img/tooltip.svg000064400000001065150514563140011574 0ustar00 admin/dist/img/pro.svg000064400001165665150514563140010724 0ustar00 admin/dist/img/scan-history.svg000064400000013653150514563140012533 0ustar00 admin/dist/img/box-bottom-left.svg000064400000000400150514563140013114 0ustar00 admin/dist/img/classic-bottom.svg000064400000000400150514563140013015 0ustar00 admin/dist/img/arrow-left.svg000064400000001506150514563140012164 0ustar00 admin/dist/img/success.svg000064400000001446150514563140011555 0ustar00 admin/dist/img/success-circle.svg000064400000001456150514563140013015 0ustar00 admin/dist/img/action-alert.svg000064400000000575150514563140012471 0ustar00 admin/dist/img/classic-top.svg000064400000000405150514563140012320 0ustar00 admin/dist/img/banner-bottom.svg000064400000000635150514563140012653 0ustar00 admin/dist/img/help.svg000064400000001467150514563140011040 0ustar00 admin/dist/img/box-top-left.svg000064400000000400150514563140012412 0ustar00 admin/dist/img/regulation.svg000064400000040472150514563140012260 0ustar00 admin/dist/img/connect-success.svg000064400000002644150514563140013205 0ustar00 admin/dist/img/error.svg000064400000001315150514563140011231 0ustar00 admin/dist/img/banner-top.svg000064400000000634150514563140012150 0ustar00 admin/dist/img/popup-center.svg000064400000000371150514563140012522 0ustar00 admin/dist/img/external.svg000064400000025203150514563140011724 0ustar00 admin/dist/img/language.svg000064400000004046150514563140011667 0ustar00 admin/dist/img/box-bottom-right.svg000064400000000371150514563140013306 0ustar00 admin/dist/index.html000064400000004162150514563140010603 0ustar00Vue App
admin/dist/css/chunk-2177d27f.css000064400000001237150514563140012301 0ustar00.cky-connect-success .cky-connect-success-container{display:flex;flex-direction:column;align-items:center}.cky-connect-success .cky-connect-success-icon{background-image:url(../img/connect-success.svg);width:60px;height:60px;background-size:contain;background-repeat:no-repeat}.cky-connect-success .cky-connect-success-message{margin-top:15px;margin-bottom:40px;text-align:center}.cky-connect-success .cky-connect-success-animate{max-width:600px;margin-top:20px}.cky-app-modal-disconnect .cky-app-modal{max-width:500px}.cky-account-info label{display:block;font-weight:500}.cky-account-info label span{font-weight:400;margin-left:5px}.cky-account-actions{margin-top:15px}admin/dist/css/chunk-1f928744.css000064400000010603150514563140012223 0ustar00.cky-app-wrap .cky-button-no-style[data-v-68059496]{margin-left:11px}.cky-app-wrap .cky-cookie-list .cky-cookie-type-title[data-v-68059496]{color:#a0a0a0}.cky-app-wrap .cky-cookie-list .cky-cookie-details[data-v-68059496]{margin:5px 1px 15px 1px;background-color:#f6f7f7}.cky-app-wrap .cky-cookie-list .cky-cookie-details-checkbox[data-v-68059496]{max-width:1%}.cky-app-wrap .cky-cookie-list .cky-cookie-details-content[data-v-68059496]{padding:10px}.cky-app-wrap .cky-cookie-list .cky-cookie-details-content table th[data-v-68059496]{text-align:left;padding:5px}.cky-app-wrap .cky-cookie-list .cky-cookie-details-content table td[data-v-68059496]{padding:5px}.cky-app-wrap .cky-cookie-list .cky-cookie-details-actions[data-v-68059496]{padding:50px 10px}.cky-app-wrap .cky-empty-place-holder-container[data-v-68059496]{min-height:200px}.cky-app-wrap .cky-empty-place-holder-container .cky-emply-placeholder[data-v-68059496]{text-align:center}.cky-cookie-list-title[data-v-32263972]{margin-bottom:20px}.cky-cookie-list-title .cky-add-cookie-button[data-v-32263972]{margin-left:10px}.cky-nav-tab-section-cookies[data-v-32263972]{background:transparent}.cky-app-modal-cookies .cky-admin-notice-message p[data-v-32263972]{font-size:12px}.cky-cookies-title[data-v-32263972]{display:flex;align-items:center;padding:10px 0}.cky-cookies-title .cky-button-no-style[data-v-32263972]{margin-left:11px}.cky-nav-tab-section-header[data-v-32263972]{border:none}.cky-nav-tab-section-cookies[data-v-32263972]{padding:15px 15px}.cky-nav-tab-section-cookies .cky-nav-tab-section-header h5[data-v-32263972]{font-weight:500;padding-bottom:2px;margin:0}.cky-app-wrap .cky-table.cky-table-cookies{margin-top:15px;border:none}.cky-app-wrap .cky-table.cky-table-cookies tbody tr{border-top:none}.cky-app-wrap .cky-table.cky-table-cookies tbody tr td{font-size:13px}.cky-app-wrap .cky-table.cky-table-cookies tbody td,.cky-app-wrap .cky-table.cky-table-cookies th{padding:15px 10px}.cky-app-wrap .cky-cookie-list-title select{margin-left:10px;min-width:150px;height:auto;width:auto}.cky-app-wrap .cky-nav-tab-manage-cookies>.cky-nav-tab-content-container>.cky-nav-tab-section>.cky-nav-tab-section-header{padding:15px 0 15px 0}.cky-app-wrap .cky-nav-tab-manage-cookies .cky-nav-tab-button{padding:15px 10px}.cky-app-rtl .cky-category-description,.cky-app-rtl .cky-cookies-title,.cky-app-rtl .cky-rich-text-editor *,.cky-app-rtl input{direction:rtl;text-align:right}.cky-input-error-alert{color:#dc3545;padding:5px 0}.cky-section-cookies .cky-rich-text-editor-container{margin-top:-30px}.cky-spinner-loader{width:48px;height:48px;border:5px solid #c9d0d6;border-bottom-color:#1863dc;border-radius:50%;display:inline-block;box-sizing:border-box;-webkit-animation:rotation 1s linear infinite;animation:rotation 1s linear infinite}@-webkit-keyframes rotation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes rotation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.cky-connect-success .cky-connect-success-container{display:flex;flex-direction:column;align-items:center}.cky-connect-success .cky-connect-success-icon{background-image:url(../img/connect-success.svg);width:60px;height:60px;background-size:contain;background-repeat:no-repeat}.cky-connect-success .cky-connect-success-message{margin-top:15px;margin-bottom:40px;text-align:center}.cky-connect-success .cky-connect-success-animate{max-width:600px;margin-top:20px}.cky-connect-success .cky-connect-loader{display:flex;flex-direction:column;align-items:center;justify-content:center}.cky-feature{position:relative}.cky-feature .cky-connect-button-container .cky-button-connect{width:100%}.cky-feature .cky-popper{max-width:440px;box-shadow:0 0 4px 1px #c9d0d6;background:#fff;border-radius:3px;padding:15px}.cky-feature .cky-popper-arrow{border-width:15px}.cky-feature .cky-popper[data-popper-placement^=left]>.cky-popper-arrow{border-color:transparent transparent transparent #fff;right:-20px}.cky-feature-disabled .cky-feature-content{opacity:.5}.cky-feature-disabled-notice .cky-button{margin-top:10px}.cky-feature-disabled-notice h5{background:linear-gradient(45deg,#de4433,#f5ba44);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.cky-nav-tab-section-scanner{margin:20px 0 20px 0;background:#fff}.cky-app-modal-scanner .cky-app-modal-header{display:none}.cky-app-modal-scanner .cky-scanner-modal-content{text-align:center}.cky-app-modal-scanner .cky-app-modal-actions{align-self:center}admin/dist/css/chunk-69ed221f.css000064400000011426150514563140012361 0ustar00.cky-dropdown{position:relative}.cky-dropdown .cky-dropdown-content{width:100%;display:none;position:absolute;z-index:10;top:100%;left:auto;margin:0 0 0;padding:10px 10px;border:1px solid #ddd;border-radius:3px;background-color:#fff;box-shadow:0 3px 7px 0 rgba(0,0,0,.07);transition:.3s ease}.cky-dropdown .cky-dropdown-content ul{max-height:180px;padding:0;margin:0}.cky-dropdown .cky-dropdown-content ul li{list-style:none;margin:0;padding:5px 0}.cky-dropdown .cky-dropdown-content ul li .cky-form-group{margin:0}.cky-dropdown .cky-dropdown-content ul li:hover{background:#f8f9fa}.cky-dropdown .cky-dropdown-content ul li a{display:block}.cky-dropdown .cky-dropdown-anchor{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M10.293 3.293L6 7.586 1.707 3.293A1 1 0 00.293 4.707l5 5a1 1 0 001.414 0l5-5a1 1 0 10-1.414-1.414z'/%3E%3C/svg%3E");background-size:10px;background-position:calc(100% - 10px) 50%;background-repeat:no-repeat;padding:8px 30px 8px 14px;min-height:40px;height:-webkit-max-content;height:-moz-max-content;height:max-content;outline:none;box-shadow:none;width:100%;margin:0;border:1px solid #ddd;border-radius:3px;font-size:14px;font-weight:400;transition:.3s ease-in-out;line-height:16px;background-color:#fff;text-align:left;cursor:pointer}.cky-dropdown.open .cky-dropdown-content{display:block}.cky-app-wrap .cky-app-modal-languages .cky-app-modal{max-width:720px}.cky-app-wrap .cky-dropdown-languages.open .cky-dropdown-anchor{border-bottom-right-radius:0;border-bottom-left-radius:0}.cky-app-wrap .cky-dropdown-languages ul{overflow-y:scroll}.cky-app-wrap .cky-dropdown-languages ul li{display:flex;justify-content:space-between;align-items:center;min-height:40px}.cky-app-wrap .cky-dropdown-languages ul li:hover{background:transparent}.cky-app-wrap .cky-dropdown-languages .cky-dropdown-content{border-top:none;border-top-right-radius:0;border-top-left-radius:0}.cky-app-wrap .cky-dropdown-languages .cky-dropdown-search-input{margin-bottom:0}.cky-app-wrap .cky-dropdown-languages .cky-dropdown-search-input input[type=text]{border:none;border-bottom:1px solid #ddd;border-radius:0;background-image:url(../img/search.svg);background-position:10px 12px;background-repeat:no-repeat;padding:5px 0 5px 33px;z-index:1;background-size:18px}.cky-app-wrap .cky-dropdown-languages .cky-dropdown-content{padding:0}.cky-app-wrap .cky-dropdown-languages .cky-dropdown-content ul li{padding:0 10px}.cky-app-wrap .cky-dropdown-languages .cky-label{margin-bottom:0;padding:10px 5px}.cky-app-wrap .cky-dropdown-languages .cky-form-group{margin-bottom:5px}.cky-app-wrap .cky-dropdown-languages .cky-dropdown-content{position:relative}.cky-app-wrap .cky-dropdown-languages .cky-language-notice{background-color:#fff8d9;border-radius:3px;color:#a66300;font-size:13px;margin-bottom:0;margin-right:12px;padding:5px;display:flex;align-items:center}.cky-app-wrap .cky-dropdown-languages .cky-language-notice img{height:13px;margin-right:5px}.cky-app-wrap .cky-consent-language-lists{border:1px solid #d9d9d9;padding:10px;background-color:#fff}.cky-app-wrap .cky-consent-language-lists .cky-language-table-col{text-transform:uppercase;width:15%}.cky-app-wrap .cky-consent-language-lists .cky-badge{border-radius:50px;background:rgba(0,86,167,.05);color:#2170f9}.cky-app-wrap .cky-language-table-col-actions .cky-button{margin-left:10px}.cky-app-wrap .cky-languages-more-actions{position:relative;display:inline-block}.cky-app-wrap .cky-languages-more-actions-list{display:none;position:absolute;background-color:#fafafb;width:-webkit-max-content;width:-moz-max-content;width:max-content;border-radius:3px;border:1px solid #c9d0d6;min-width:130px;z-index:1;right:0}.cky-app-wrap .cky-languages-more-actions-list .cky-popper-container,.cky-app-wrap .cky-languages-more-actions-list .cky-poppper-trigger{display:block}.cky-app-wrap .cky-languages-more-actions-list .cky-popper-container .cky-popper,.cky-app-wrap .cky-languages-more-actions-list .cky-poppper-trigger .cky-popper{width:150px}.cky-app-wrap .cky-languages-more-actions-list .cky-popper-container{margin-left:0}.cky-app-wrap .cky-languages-more-actions-list ul{list-style:none;padding-left:0;margin:0}.cky-app-wrap .cky-languages-more-actions-list ul li{margin-bottom:0;display:flex;flex-direction:column}.cky-app-wrap .cky-languages-more-actions-list ul li a{display:flex}.cky-app-wrap .cky-languages-more-actions-list a{color:#3c434a;padding:10px;text-decoration:none;display:block}.cky-app-wrap .cky-languages-more-actions-list a:hover{background-color:#f1f1f1}.cky-app-wrap .cky-languages-more-actions:hover .cky-languages-more-actions-list{display:block}.cky-app-wrap .fade-enter-active{transition:opacity .5s}.cky-app-wrap .fade-enter,.cky-app-wrap .fade-leave-to{opacity:0}admin/dist/css/app.css000064400000150654150514563140010700 0ustar00.cky-icon-base[data-v-2e902db8]{display:inline-block}.cky-app-wrap .cky-header{margin-left:-20px;margin-right:-20px;padding:16px 20px;background:linear-gradient(336.94deg,#1a7fbb -111.69%,#26238d 196.34%)}.cky-app-wrap .cky-header span.cky-icon-base{margin-right:5px}.cky-app-wrap .cky-logo-caption{font-size:12px;font-style:normal;font-weight:600;line-height:17px;text-align:left;color:#fff;margin-top:5px}.cky-app-wrap span.ckyes-version{font-weight:600;padding-left:5px;color:#fff}.cky-app-wrap .cky-card-header-actions{color:#fff;display:flex;align-items:center;justify-content:flex-end}.cky-app-wrap .cky-card-header-actions a{color:inherit}.cky-app-wrap a.cky-link{margin-left:15px}.cky-app-wrap .cky-nav-menu-item{text-decoration:none!important;cursor:pointer;color:#505b66;padding:15px 0;display:inline-block;margin:0 10px;transition:all .2s ease;font-weight:400}.cky-app-wrap .cky-nav-menu-item.router-link-active,.cky-app-wrap .cky-nav-menu-item:hover{color:#1863dc}.cky-app-wrap .cky-nav-menu-item.router-link-active{font-weight:600;font-size:15px}.cky-app-wrap .cky-nav-menu-item:first-child{margin-left:0}.cky-nav-menu{margin-left:-20px;margin-right:-20px;padding:0 20px;background:#fff;box-shadow:0 3px 8px -10px #000}.cky-slide-top-enter-active[data-v-b1fe306c],.cky-slide-top-leave-active[data-v-b1fe306c],.cky-slide-top-move[data-v-b1fe306c]{transition:all .5s}.cky-slide-top-enter[data-v-b1fe306c],.cky-slide-top-leave-to[data-v-b1fe306c]{opacity:0;transform:translateY(-500px)}.cky-slide-enter-active[data-v-b1fe306c],.cky-slide-leave-active[data-v-b1fe306c]{transition:.3s}.cky-slide-enter[data-v-b1fe306c]{transform:translateY(100%)}.cky-slide-leave-to[data-v-b1fe306c]{transform:translate(-200%)}.cky-notification[data-v-b1fe306c]{border-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;padding:15px 20px;border:1px solid;margin-bottom:10px;position:relative;background-color:#fafffa;border-color:#46b450;position:fixed;z-index:5000;right:20px;min-width:300px;top:36px;display:flex;align-items:center}.cky-notification[data-v-b1fe306c]:before{content:"";width:20px;height:20px;padding:3px 25px 3px 3px;display:flex;background-image:url(../img/success.svg);display:inline-block;background-repeat:no-repeat}.cky-notification p[data-v-b1fe306c]{font-size:13px;font-weight:400;color:#000}.cky-notification.cky-notification-error[data-v-b1fe306c]{background-color:#fdf3f2;border-color:#e71d36}.cky-notification.cky-notification-error[data-v-b1fe306c]:before{background-image:url(../img/error.svg)}.cky-notification.cky-notification-warning[data-v-b1fe306c]{background-color:#fdf3f2;border-color:#ffb240}.cky-notification.cky-notification-warning[data-v-b1fe306c]:before{background-image:url(../img/warning.svg)}.cky-notification.cky-notification-info[data-v-b1fe306c]{background-color:#fdf3f2;border-color:#17a8e3}.cky-notification.cky-notification-info[data-v-b1fe306c]:before{background-image:url(../img/warning.svg)}.cky-notification .cky-notification-close[data-v-b1fe306c]{display:flex;align-items:center;margin-left:15px}.cky-notification .cky-close[data-v-b1fe306c]{font-size:20px;padding:0;background:transparent;border:none;display:inline-block;color:#7e7e7e;cursor:pointer;line-height:0}.cky-app-wrap .cky-admin-notice.cky-notice-review{margin-top:30px;border-radius:5px;border:1px solid #d7e1f2}.cky-app-wrap .cky-admin-notice.cky-notice-review .cky-admin-notice-content{padding:10px 15px 10px 15px}.cky-app-wrap .cky-admin-notice.cky-notice-review .cky-admin-notice-header{margin-top:5px}.fade-enter-active{transition:opacity .5s}.fade-enter,.fade-leave-to{opacity:0}.cky-app-wrap{font-weight:400;font-size:14px;color:#23282d;margin:0 20px 0 0;-webkit-font-smoothing:subpixel-antialiased}.cky-app-wrap h1,.cky-app-wrap h2,.cky-app-wrap h3,.cky-app-wrap h4,.cky-app-wrap h5,.cky-app-wrap h6{display:block;margin:.5em 0;padding:0;color:#23282d;font-weight:600}.cky-app-wrap h1{font-size:32px;line-height:40px;color:#23282d;margin:0}.cky-app-wrap h2{font-size:22px;line-height:26px}.cky-app-wrap h3{font-size:18px;line-height:22px}.cky-app-wrap h4{font-size:16px;line-height:18px}.cky-app-wrap h5{font-size:15px}.cky-app-wrap h6{font-size:14px}.cky-app-wrap p{font-weight:400;font-size:14px;color:#23282d;margin:0}.cky-app-wrap a{text-decoration:none;color:#1863dc;font-weight:500;outline-color:transparent;outline-style:none;box-shadow:none;cursor:pointer}.cky-app-wrap a:active:not(.cky-button),.cky-app-wrap a:focus:not(.cky-button),.cky-app-wrap a:hover:not(.cky-button){text-decoration:underline}.cky-app-wrap a.disabled{pointer-events:none;opacity:.7}.cky-app-wrap a.disabled:active,.cky-app-wrap a.disabled:focus,.cky-app-wrap a.disabled:hover{color:palette(grey,light);cursor:default}.cky-app-wrap b,.cky-app-wrap strong{font-weight:600}.cky-app-wrap hr{border:none;display:block;height:1px;background:#d9d9d9;margin:30px 0}.cky-app-wrap .cky-text-small{font-size:12px}.cky-app-wrap .cky-section-heading{margin-top:0;margin-bottom:15px;font-weight:500}.cky-app-wrap .cky-text-xl{font-size:18px;font-weight:400}.cky-app-wrap .cky-text-semi-xl{font-size:18px;font-weight:500}.cky-app-wrap .cky-text-lg{font-size:16px;font-weight:400}.cky-app-wrap .cky-text-semi-lg{font-size:16px;font-weight:500}.cky-app-wrap .cky-text-md{font-size:14px;font-weight:400}.cky-app-wrap .cky-text-semi-md{font-size:14px;font-weight:500}.cky-app-wrap .cky-text-sm{font-size:13px;font-weight:400}.cky-app-wrap .cky-text-semi-sm{font-size:13px;font-weight:500}.cky-app-wrap .cky-text-xs{font-size:12px;font-weight:400}.cky-app-wrap .cky-text-semi-xs{font-size:12px;font-weight:500}.cky-app-wrap .cky-text-secondary-dark{color:#4e4b66!important}.cky-app-wrap .cky-text-secondary-light{color:#a0a3bd!important}.cky-col-12{width:100%;max-width:100%;flex-basis:100%}.cky-col-11{width:91.66667%;max-width:91.66667%;flex-basis:91.66667%}.cky-col-10{width:83.33333%;max-width:83.33333%;flex-basis:83.33333%}.cky-col-9{width:75%;max-width:75%;flex-basis:75%}.cky-col-8{width:66.66667%;max-width:66.66667%;flex-basis:66.66667%}.cky-col-7{width:58.33333%;max-width:58.33333%;flex-basis:58.33333%}.cky-col-6{width:50%;max-width:50%;flex-basis:50%}.cky-col-5{width:41.66667%;max-width:41.66667%;flex-basis:41.66667%}.cky-col-4{width:33.33333%;max-width:33.33333%;flex-basis:33.33333%}.cky-col-3{width:25%;max-width:25%;flex-basis:25%}.cky-col-2{width:16.66667%;max-width:16.66667%;flex-basis:16.66667%}.cky-col-1{width:8.33333%;max-width:8.33333%;flex-basis:8.33333%}.cky-app-wrap *{box-sizing:border-box}.cky-app-modal-open{overflow:hidden}.cky-app-wrap :after,.cky-app-wrap :before{box-sizing:border-box}.cky-app-wrap .cky-col,.cky-app-wrap [class*=cky-col-]{min-height:1px;padding-left:15px;padding-right:15px;position:relative}.cky-app-wrap .cky-align-center,.cky-app-wrap .cky-align-top,.cky-app-wrap .cky-card .cky-card-actions,.cky-app-wrap .cky-center,.cky-app-wrap .cky-empty-state,.cky-app-wrap .cky-flex,.cky-app-wrap .cky-horizontal-tab .cky-horizontal-tabs,.cky-app-wrap .cky-justify-between,.cky-app-wrap .cky-justify-end,.cky-app-wrap .cky-stats-section,.cky-app-wrap .cky-vertical-tab,.cky-app-wrap .cky-vertical-tab .cky-nav-tab-button{display:flex}.cky-app-wrap .cky-align-center,.cky-app-wrap .cky-button.cky-button-icon,.cky-app-wrap .cky-center,.cky-app-wrap .cky-empty-state,.cky-app-wrap .cky-toggle,.cky-app-wrap .cky-vertical-tab .cky-nav-tab-button,.cky-app-wrap a.cky-button.cky-button-icon,.cky-app-wrap button.cky-button.cky-button-icon{align-items:center}.cky-app-wrap img{max-width:100%}.cky-app-wrap .cky-row{display:flex;flex-flow:wrap;margin-right:-15px;margin-left:-15px}.cky-app-wrap .cky-row:last-child{margin-bottom:0}.cky-app-wrap .cky-col{flex:1}.cky-app-wrap .cky-align-top{align-items:flex-start!important}.cky-app-wrap .cky-justify-between{justify-content:space-between}.cky-app-wrap .cky-justify-end{justify-content:flex-end}.cky-app-wrap .cky-center{justify-content:center}.cky-app-wrap .cky--no-border{border:none!important}.cky-app-wrap .cky-direction--column{flex-direction:column}.cky-app-wrap .cky-text-center{text-align:center!important}.cky-app-wrap .cky-text-right{text-align:right!important}.cky-app-wrap .cky-px-2{padding-left:15px!important;padding-right:15px!important}.cky-app-wrap .cky-py-2{padding-top:15px!important;padding-bottom:15px!important}.cky-app-wrap .cky-px{padding-left:30px!important;padding-right:30px!important}.cky-app-wrap .cky-py{padding-top:30px!important;padding-bottom:30px!important}.cky-app-wrap .cky-p-3{padding:30px!important}.cky-app-admin .error,.cky-app-admin .is-dismissible,.cky-app-admin .update-nag,.cky-app-admin .updated{display:none}.cky-app-admin .wrap{margin:0 20px 0 2px}.cky-app-wrap .cky-app-nav-bar{width:calc(100% - 200px);top:32px;left:180px;position:fixed;z-index:999}.cky-app-wrap .cky-app-body{position:relative;padding-top:108px}.cky-app-wrap ul{list-style:disc;padding-left:15px}.cky-app-wrap ul.cky-list-unstyled{list-style:none}.cky-app-wrap .cky-section{padding:20px 15px;margin-top:20px;margin-bottom:20px}.cky-app-wrap .cky-section .cky-section-header{padding:15px 0}.cky-app-wrap .cky-section .cky-section-header.cky-section-header-boxed{padding:10px 15px;background:#f1f1f1;border:1px solid #d9d9d9;border-bottom:none}.cky-app-wrap .cky-section .cky-section-title{margin-right:15px}.cky-app-wrap .cky-stats-col{text-align:center}.cky-app-wrap .cky-loading-text{position:absolute;z-index:12;top:50%;left:50%;transform:translate(-50%,-50%);color:#adadad;display:flex;align-items:center}.cky-app-wrap .cky-loading-text .cky-spinner{margin-right:10px}.cky-app-wrap .cky-empty-state{flex-direction:column;justify-content:center;padding:15px}.cky-app-wrap .cky-empty-message{background-color:transparent;border:none;padding:0;cursor:pointer;margin:10px 0}.cky-app-wrap .cky-badge{padding:3px 15px;background:#f1f1f1;font-size:13px;font-weight:500;border-radius:3px;display:inline-flex;align-items:center}.cky-app-wrap .cky-badge-info{color:#009ee1;background-color:#e1f6ff}.cky-app-wrap .cky-badge-error{color:#e71d36;background:#f17988}.cky-app-wrap .cky-badge-warning{color:#ff9d0d;background:#ffdba6}.cky-app-wrap .cky-badge-success{color:#00967c;background:#b0fff1}.cky-app-wrap .cky-icon-base{display:inline-flex}.cky-app-wrap .cky-zero--padding{padding-left:0!important;padding-right:0!important;padding-bottom:0!important;padding-top:0!important}.cky-app-wrap .cky-zero--margin{margin-left:0!important;margin-right:0!important;margin-bottom:0!important;margin-top:0!important}.cky-app-wrap .cky-color-picker{width:130px;height:30px;border:1px solid #d9d9d9}.cky-app-wrap .cky-color-picker>div{height:100%}.cky-app-wrap .cky-color-picker .cky-current-color{cursor:pointer;display:block;width:40px;height:100%}.cky-app-wrap .cky-color-picker .vc-chrome{position:absolute;z-index:999}.cky-app-wrap .cky-color-picker .cky-color-picker-input{width:120px;background:#f6f7f7;box-sizing:border-box;font-size:14px;cursor:pointer}.cky-app-wrap .cky-color-picker .cky-color-picker-input .cky-input-color{background:transparent;border:none;text-transform:uppercase;font-size:12px}.cky-app-wrap .cky-help-text{margin:10px 0}.cky-app-wrap .cky-help-text p{font-size:12px;color:#adadad}.cky-app-wrap .cky-color-red{color:#e71d36}.cky-app-wrap .cky-color-link{color:#1863dc}.cky-app-wrap .cky-status-indicators{font-size:14px;line-height:18px;font-weight:500}.cky-app-wrap .cky-status-indicators>span{font-weight:400}.cky-app-wrap .cky-status-error{color:#e71d36}.cky-app-wrap .cky-status-error svg{fill:#e71d36}.cky-app-wrap .cky-status-success{color:#15a753}.cky-app-wrap .cky-status-indicators{display:inline-flex;align-items:center}.cky-app-wrap .cky-status-indicators h5{margin:0}.cky-app-wrap .cky-status-indicators .cky-status-info{display:inline-flex;align-items:center}.cky-app-wrap .cky-status-indicators .cky-icon-base{margin-right:5px}.cky-app-wrap a.cky-link.cky-actions-link{font-size:14px;text-decoration:none}.cky-app-wrap a.cky-link.cky-actions-link:hover{text-decoration:underline}.cky-app-wrap .cky-error-message{display:block;margin-top:8px;color:#e71d36;font-size:12px;line-height:16px;font-weight:500}button.cky-preview-close{position:fixed;top:50px;right:50px;z-index:999999999;background:transparent;border:none;color:#fff;display:flex;align-items:center;font-size:18px;font-weight:600;cursor:pointer}button.cky-preview-close:after{content:"";width:25px;height:25px;background:#fff;display:inline-flex;-webkit-mask-image:url(../img/close.svg);mask-image:url(../img/close.svg);background-color:#fff;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-position:center;mask-position:center}.cky-app-wrap .cky-breadcrumbs-title{font-weight:600;font-size:15px;display:flex;align-items:center}.cky-app-wrap .cky-breadcrumbs-title:before{content:"";width:13px;height:10px;margin-right:5px;display:inline-flex;-webkit-mask-image:url(../img/arrow-left.svg);mask-image:url(../img/arrow-left.svg);background-color:#23282d;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-position:center;mask-position:center}.cky-app-wrap .cky-section-inner{margin-top:10px;margin-bottom:20px;background:#fff}.cky-app-wrap .cky-blur{filter:blur(2px);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cky-app-wrap .cky-external-link{display:inline-flex;align-items:center}.cky-app-wrap .cky-external-link:after{content:"";width:13px;height:13px;margin-left:8px;display:inline-flex;-webkit-mask-image:url(../img/external.svg);mask-image:url(../img/external.svg);background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center}.cky-app-wrap .cky-app-box{background:#fff;padding:12px 20px;margin-bottom:15px;border-radius:3px}.cky-app-wrap .cky-pro-badge{font-size:8px;background:#e1e0e1;text-transform:uppercase;padding:2px 5px;color:#787d81;border-radius:1px;margin-left:5px}.cky-preview-partial-refreshing .cky-consent-container:before{content:"";position:absolute;top:0;-webkit-animation:placeHolderShimmer 1s linear infinite;animation:placeHolderShimmer 1s linear infinite;background:#f6f7f8;background:radial-gradient(75.49% 775.24% at 68.84% 100%,rgba(98,151,219,.12) 0,rgba(24,99,220,.12) 43.3%,rgba(98,151,219,.12) 98.84%) #fff;background-size:800px 104px;width:100%;height:100%;transform:translateZ(0);opacity:.7;cursor:progress;z-index:999}@-webkit-keyframes shimmer-move{0%{transform:translateX(-150%)}to{transform:translateX(150%)}}@keyframes shimmer-move{0%{transform:translateX(-150%)}to{transform:translateX(150%)}}@-webkit-keyframes placeHolderShimmer{0%{background-position:-468px 0}to{background-position:468px 0}}@keyframes placeHolderShimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.cky-app-wrap .cky-spinner-pulse{width:40px;height:40px;margin:0 auto;background-color:#1e2221;border-radius:100%;-webkit-animation:cky-pulse-scale-out 1s ease-in-out infinite;animation:cky-pulse-scale-out 1s ease-in-out infinite;display:inline-block}@-webkit-keyframes cky-pulse-scale-out{0%{transform:scale(0)}to{transform:scale(1);opacity:0}}@keyframes cky-pulse-scale-out{0%{transform:scale(0)}to{transform:scale(1);opacity:0}}.cky-app-wrap .cky-ellipsis-loader:after{overflow:hidden;display:inline-block;vertical-align:bottom;-webkit-animation:cky-ellipsis .9s steps(4) infinite;animation:cky-ellipsis .9s steps(4) infinite;content:"\2026";width:0}@keyframes cky-ellipsis{to{width:1.25em}}@-webkit-keyframes cky-ellipsis{to{width:1.25em}}.cky-app-wrap .cky-loader-view{position:absolute;left:0;right:0;height:100%;top:108px;z-index:-1}.cky-app-wrap .cky-toggle{display:inline-flex;margin-bottom:0}.cky-app-wrap .cky-toggle .cky-toggle-text{margin:0 5px;font-weight:500}.cky-app-wrap .cky-toggle input{display:none}.cky-app-wrap .cky-toggle input:focus~.cky-toggle-slider{box-shadow:0 0 0 5px palette(toggle,base)}.cky-app-wrap .cky-toggle input:checked~.cky-toggle-slider{background-color:#15a753}.cky-app-wrap .cky-toggle input:checked~.cky-toggle-slider:before{left:calc(100% - 3px);transform:translateX(-100%)}.cky-app-wrap .cky-toggle input[disabled]~.cky-toggle-slider{cursor:not-allowed;opacity:.5;background-color:#adadad}.cky-app-wrap .cky-toggle input[disabled]~.cky-toggle-slider:before{background-color:#fff}.cky-app-wrap .cky-toggle input[disabled]~.cky-toggle-slider:hover{box-shadow:none}.cky-app-wrap .cky-toggle .cky-toggle-slider{width:36px;height:18px;float:left;display:block;position:relative;margin:2px 0;border:0;border-radius:9px;background-color:#adadad;transition:all .3s ease;padding-left:18px;padding-right:18px}.cky-app-wrap .cky-toggle .cky-toggle-slider:before{content:" ";width:12px;height:12px;position:absolute;top:3px;left:3px;border-radius:18px;background-color:#fff;transition:.2s linear}.cky-app-wrap .cky-toggle .cky-toggle-slider:hover{box-shadow:0 0 0 5px palette(silver,default)}.cky-app-wrap .cky-toggle.cky-toggle-alt .cky-toggle-slider{height:20px;border-radius:15px;min-width:90px;display:flex;align-items:center;justify-content:center;color:#fff}.cky-app-wrap .cky-toggle.cky-toggle-alt .cky-toggle-slider:before{width:14px;height:14px;transition:.4s linear}.cky-app-wrap .cky-toggle.cky-toggle-alt .cky-toggle-slider:after{content:" ";width:10px;height:10px;position:absolute;top:4.5px;right:6px;-webkit-mask-image:url(../img/close.svg);mask-image:url(../img/close.svg);background-color:#fff;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.cky-app-wrap .cky-toggle.cky-toggle-alt input:checked~.cky-toggle-slider{background-color:#1863dc;color:#fff}.cky-app-wrap .cky-toggle.cky-toggle-alt input:checked~.cky-toggle-slider:after{-webkit-mask-image:url(../img/tick.svg);mask-image:url(../img/tick.svg);left:6px}.cky-app-wrap .cky-button,.cky-app-wrap a.cky-button,.cky-app-wrap button.cky-button{width:auto;min-width:80px;padding:8px 14px;background-color:#1863dc;color:#fff;border:1px solid #1863dc;font-weight:500;font-size:14px;border-radius:3px;cursor:pointer;line-height:16px}.cky-app-wrap .cky-button:focus,.cky-app-wrap .cky-button:hover,.cky-app-wrap a.cky-button:focus,.cky-app-wrap a.cky-button:hover,.cky-app-wrap button.cky-button:focus,.cky-app-wrap button.cky-button:hover{background-color:#134eae;border-color:#134eae}.cky-app-wrap .cky-button.cky-button-secondary,.cky-app-wrap a.cky-button.cky-button-secondary,.cky-app-wrap button.cky-button.cky-button-secondary{background-color:#fafafb;border-color:#c9d0d6;color:#555d66}.cky-app-wrap .cky-button.cky-button-secondary:focus,.cky-app-wrap .cky-button.cky-button-secondary:hover,.cky-app-wrap a.cky-button.cky-button-secondary:focus,.cky-app-wrap a.cky-button.cky-button-secondary:hover,.cky-app-wrap button.cky-button.cky-button-secondary:focus,.cky-app-wrap button.cky-button.cky-button-secondary:hover{background-color:#dedee4;border-color:#dedee4}.cky-app-wrap .cky-button.cky-button-green,.cky-app-wrap a.cky-button.cky-button-green,.cky-app-wrap button.cky-button.cky-button-green{background-color:#15a753;border-color:#15a753}.cky-app-wrap .cky-button.cky-button-green:focus,.cky-app-wrap .cky-button.cky-button-green:hover,.cky-app-wrap a.cky-button.cky-button-green:focus,.cky-app-wrap a.cky-button.cky-button-green:hover,.cky-app-wrap button.cky-button.cky-button-green:focus,.cky-app-wrap button.cky-button.cky-button-green:hover{background-color:#129048;border-color:#129048}.cky-app-wrap .cky-button.cky-button-danger,.cky-app-wrap a.cky-button.cky-button-danger,.cky-app-wrap button.cky-button.cky-button-danger{background-color:#e71d36;color:#fff;border-color:#e71d36}.cky-app-wrap .cky-button.cky-button-danger:focus,.cky-app-wrap .cky-button.cky-button-danger:hover,.cky-app-wrap a.cky-button.cky-button-danger:focus,.cky-app-wrap a.cky-button.cky-button-danger:hover,.cky-app-wrap button.cky-button.cky-button-danger:focus,.cky-app-wrap button.cky-button.cky-button-danger:hover{background-color:#bd1429;border-color:#bd1429}.cky-app-wrap .cky-button.cky-button-medium,.cky-app-wrap a.cky-button.cky-button-medium,.cky-app-wrap button.cky-button.cky-button-medium{padding:12px 16px;font-size:14px}.cky-app-wrap .cky-button.cky-button-small,.cky-app-wrap a.cky-button.cky-button-small,.cky-app-wrap button.cky-button.cky-button-small{padding:6px 12px}.cky-app-wrap .cky-button:focus,.cky-app-wrap a.cky-button:focus,.cky-app-wrap button.cky-button:focus{outline:none}.cky-app-wrap .cky-button.cky-button-outline-secondary,.cky-app-wrap a.cky-button.cky-button-outline-secondary,.cky-app-wrap button.cky-button.cky-button-outline-secondary{background-color:transparent;color:#555d66;border-color:#c9d0d6}.cky-app-wrap .cky-button.cky-button-outline-secondary:focus,.cky-app-wrap .cky-button.cky-button-outline-secondary:hover,.cky-app-wrap a.cky-button.cky-button-outline-secondary:focus,.cky-app-wrap a.cky-button.cky-button-outline-secondary:hover,.cky-app-wrap button.cky-button.cky-button-outline-secondary:focus,.cky-app-wrap button.cky-button.cky-button-outline-secondary:hover{background-color:#fafafb}.cky-app-wrap .cky-button.cky-button-outline-danger,.cky-app-wrap a.cky-button.cky-button-outline-danger,.cky-app-wrap button.cky-button.cky-button-outline-danger{background-color:transparent;color:#e71d36;border-color:#e71d36}.cky-app-wrap .cky-button.cky-button-outline-danger:focus,.cky-app-wrap .cky-button.cky-button-outline-danger:hover,.cky-app-wrap a.cky-button.cky-button-outline-danger:focus,.cky-app-wrap a.cky-button.cky-button-outline-danger:hover,.cky-app-wrap button.cky-button.cky-button-outline-danger:focus,.cky-app-wrap button.cky-button.cky-button-outline-danger:hover{background-color:#e71d36;color:#fff}.cky-app-wrap .cky-button.cky-button-upgrade,.cky-app-wrap a.cky-button.cky-button-upgrade,.cky-app-wrap button.cky-button.cky-button-upgrade{background:linear-gradient(90deg,#f83600,#f9d423);border:none;padding:8px 20px}.cky-app-wrap .cky-button.cky-button-upgrade .cky-icon-base,.cky-app-wrap a.cky-button.cky-button-upgrade .cky-icon-base,.cky-app-wrap button.cky-button.cky-button-upgrade .cky-icon-base{width:12px;margin-right:8px}.cky-app-wrap .cky-button.cky-button-upgrade:focus,.cky-app-wrap .cky-button.cky-button-upgrade:hover,.cky-app-wrap a.cky-button.cky-button-upgrade:focus,.cky-app-wrap a.cky-button.cky-button-upgrade:hover,.cky-app-wrap button.cky-button.cky-button-upgrade:focus,.cky-app-wrap button.cky-button.cky-button-upgrade:hover{background:linear-gradient(45deg,#f83600,#f9d423)}.cky-app-wrap .cky-button.cky-button-onload,.cky-app-wrap .cky-button.cky-button-onload-text,.cky-app-wrap .cky-button.disabled,.cky-app-wrap .cky-button:disabled,.cky-app-wrap .cky-button[disabled],.cky-app-wrap a.cky-button.cky-button-onload,.cky-app-wrap a.cky-button.cky-button-onload-text,.cky-app-wrap a.cky-button.disabled,.cky-app-wrap a.cky-button:disabled,.cky-app-wrap a.cky-button[disabled],.cky-app-wrap button.cky-button.cky-button-onload,.cky-app-wrap button.cky-button.cky-button-onload-text,.cky-app-wrap button.cky-button.disabled,.cky-app-wrap button.cky-button:disabled,.cky-app-wrap button.cky-button[disabled]{opacity:.5}.cky-app-wrap .cky-button.cky-pagination-button,.cky-app-wrap a.cky-button.cky-pagination-button,.cky-app-wrap button.cky-button.cky-pagination-button{min-width:30px;background:transparent;color:#23282d;border:1px solid transparent;border-color:#d9d9d9;font-size:16px;margin:2px}.cky-app-wrap .cky-button.cky-pagination-button.cky-pagination-number,.cky-app-wrap a.cky-button.cky-pagination-button.cky-pagination-number,.cky-app-wrap button.cky-button.cky-pagination-button.cky-pagination-number{font-size:12px}.cky-app-wrap .cky-button.cky-pagination-button.active,.cky-app-wrap a.cky-button.cky-pagination-button.active,.cky-app-wrap button.cky-button.cky-pagination-button.active{background:#1863dc;color:#fff;opacity:1}.cky-app-wrap .cky-button.cky-button-outline,.cky-app-wrap a.cky-button.cky-button-outline,.cky-app-wrap button.cky-button.cky-button-outline{color:#1863dc;background-color:transparent;background-image:none;border:1px solid;border-color:#1863dc}.cky-app-wrap .cky-button.cky-button-outline:focus,.cky-app-wrap .cky-button.cky-button-outline:hover,.cky-app-wrap a.cky-button.cky-button-outline:focus,.cky-app-wrap a.cky-button.cky-button-outline:hover,.cky-app-wrap button.cky-button.cky-button-outline:focus,.cky-app-wrap button.cky-button.cky-button-outline:hover{background-color:#1863dc;color:#fff}.cky-app-wrap .cky-button.cky-button-icon,.cky-app-wrap a.cky-button.cky-button-icon,.cky-app-wrap button.cky-button.cky-button-icon{display:inline-flex}.cky-app-wrap .cky-button.cky-button-icon>span,.cky-app-wrap a.cky-button.cky-button-icon>span,.cky-app-wrap button.cky-button.cky-button-icon>span{margin-right:3px}.cky-app-wrap .cky-button .cky-btn-spinner,.cky-app-wrap a.cky-button .cky-btn-spinner,.cky-app-wrap button.cky-button .cky-btn-spinner{line-height:1.15;position:absolute;right:15px;opacity:0;width:16px;height:16px;top:50%;display:inline-block;transform:translateY(-50%);transition-property:padding,opacity;transition-duration:.2s,.2s;transition-timing-function:ease-in,ease;transition-delay:0s,.2s}.cky-app-wrap .cky-button .cky-btn-spinner span,.cky-app-wrap a.cky-button .cky-btn-spinner span,.cky-app-wrap button.cky-button .cky-btn-spinner span{box-sizing:border-box;display:inline-block;position:absolute;right:0;width:16px;height:16px;opacity:1;border:1px solid #fff;border-radius:50%;-webkit-animation:spinner 1.2s cubic-bezier(.5,0,.5,1) infinite;animation:spinner 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#fff transparent transparent transparent}.cky-app-wrap .cky-button .cky-btn-spinner span:first-child,.cky-app-wrap a.cky-button .cky-btn-spinner span:first-child,.cky-app-wrap button.cky-button .cky-btn-spinner span:first-child{-webkit-animation-delay:.45s;animation-delay:.45s}.cky-app-wrap .cky-button .cky-btn-spinner span:nth-child(2),.cky-app-wrap a.cky-button .cky-btn-spinner span:nth-child(2),.cky-app-wrap button.cky-button .cky-btn-spinner span:nth-child(2){-webkit-animation-delay:.3s;animation-delay:.3s}.cky-app-wrap .cky-button .cky-btn-spinner span:nth-child(3),.cky-app-wrap a.cky-button .cky-btn-spinner span:nth-child(3),.cky-app-wrap button.cky-button .cky-btn-spinner span:nth-child(3){-webkit-animation-delay:.15s;animation-delay:.15s}.cky-app-wrap .cky-button .cky-button:not(:disabled),.cky-app-wrap a.cky-button .cky-button:not(:disabled),.cky-app-wrap button.cky-button .cky-button:not(:disabled){transition-delay:.2s}.cky-app-wrap .cky-button .cky-button:not(:disabled) .cky-btn-spinner span,.cky-app-wrap a.cky-button .cky-button:not(:disabled) .cky-btn-spinner span,.cky-app-wrap button.cky-button .cky-button:not(:disabled) .cky-btn-spinner span{box-shadow:inset 0 0 0 .2rem #fff;border:7.4px solid transparent;transition:all .4s}.cky-app-wrap .cky-button .cky-button:not(:disabled) .cky-btn-spinner span:first-child,.cky-app-wrap a.cky-button .cky-button:not(:disabled) .cky-btn-spinner span:first-child,.cky-app-wrap button.cky-button .cky-button:not(:disabled) .cky-btn-spinner span:first-child{transform:rotate(0deg)!important}.cky-app-wrap .cky-button .cky-button:not(:disabled) .cky-btn-spinner span:nth-child(2),.cky-app-wrap a.cky-button .cky-button:not(:disabled) .cky-btn-spinner span:nth-child(2),.cky-app-wrap button.cky-button .cky-button:not(:disabled) .cky-btn-spinner span:nth-child(2){transform:rotate(90deg)!important}.cky-app-wrap .cky-button .cky-button:not(:disabled) .cky-btn-spinner span:nth-child(3),.cky-app-wrap a.cky-button .cky-button:not(:disabled) .cky-btn-spinner span:nth-child(3),.cky-app-wrap button.cky-button .cky-button:not(:disabled) .cky-btn-spinner span:nth-child(3){transform:rotate(180deg)!important}.cky-app-wrap .cky-button .cky-button:not(:disabled) .cky-btn-spinner span:nth-child(4),.cky-app-wrap a.cky-button .cky-button:not(:disabled) .cky-btn-spinner span:nth-child(4),.cky-app-wrap button.cky-button .cky-button:not(:disabled) .cky-btn-spinner span:nth-child(4){transform:rotate(270deg)!important}.cky-app-wrap .cky-button.cky-button-loading,.cky-app-wrap a.cky-button.cky-button-loading,.cky-app-wrap button.cky-button.cky-button-loading{padding-right:40px}.cky-app-wrap .cky-button.cky-button-loading .cky-btn-spinner,.cky-app-wrap a.cky-button.cky-button-loading .cky-btn-spinner,.cky-app-wrap button.cky-button.cky-button-loading .cky-btn-spinner{opacity:1}@-webkit-keyframes spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.cky-app-wrap a.cky-button{display:inline-flex}.cky-app-wrap a.cky-button-no-style,.cky-app-wrap button.cky-button-no-style{font:500 13px/16px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;background-color:transparent;color:#adadad;border:none;padding:0;cursor:pointer;min-width:0}.cky-app-wrap a.cky-button-no-style:focus,.cky-app-wrap a.cky-button-no-style:hover,.cky-app-wrap button.cky-button-no-style:focus,.cky-app-wrap button.cky-button-no-style:hover{color:#2e2e2e;background-color:transparent}.cky-app-wrap a.cky-button-no-style:focus,.cky-app-wrap button.cky-button-no-style:focus{outline:none;color:#2e2e2e;background-color:transparent}.cky-app-wrap .cky-button[data-type=icon]{padding:6px;height:30px;min-width:0}.cky-app-wrap .cky-actions-group button:not(:first-child){margin-left:10px}.cky-app-wrap input[type=radio]{margin:0;margin-right:10px}.cky-app-wrap .cky-image-radio input[type=radio]{display:none}.cky-app-wrap input[type=radio]:checked:before{background-color:#1863dc}.cky-app-wrap .cky-form-control,.cky-app-wrap .cky-select{width:100%;margin:0;padding:9px 14px;border:1px solid #d1d5db;border-radius:3px;background-image:none;font-size:14px;font-weight:400;transition:.1s ease-in-out;line-height:1.6}.cky-app-wrap .cky-form-control,.cky-app-wrap .cky-form-control:active,.cky-app-wrap .cky-form-control:focus,.cky-app-wrap .cky-form-control:hover,.cky-app-wrap .cky-select,.cky-app-wrap .cky-select:active,.cky-app-wrap .cky-select:focus,.cky-app-wrap .cky-select:hover{outline:none;box-shadow:none}.cky-app-wrap .cky-form-control:focus,.cky-app-wrap .cky-select:focus{border-color:#1863dc}.cky-app-wrap .cky-form-control::-moz-placeholder,.cky-app-wrap .cky-select::-moz-placeholder{font-weight:400;color:#888}.cky-app-wrap .cky-form-control:-ms-input-placeholder,.cky-app-wrap .cky-select:-ms-input-placeholder{font-weight:400;color:#888}.cky-app-wrap .cky-form-control::placeholder,.cky-app-wrap .cky-select::placeholder{font-weight:400;color:#888}.cky-app-wrap .cky-form-control[disabled],.cky-app-wrap .cky-select[disabled]{cursor:not-allowed}.cky-app-wrap .cky-disabled.cky-form-control,.cky-app-wrap .cky-disabled.cky-select,fieldset[disabled] .cky-app-wrap .cky-form-control,fieldset[disabled] .cky-app-wrap .cky-select{cursor:not-allowed;opacity:.5}.cky-app-wrap .cky-label,.cky-app-wrap label{display:inline-block}.cky-app-wrap .cky-label .cky-required:after,.cky-app-wrap label .cky-required:after{content:"*";color:red;font-size:12px}.cky-app-wrap .cky-label,.cky-app-wrap label{margin-bottom:10px}.cky-app-wrap .cky-form-check-inline .cky-label,.cky-app-wrap .cky-form-check-inline label{margin-bottom:0}.cky-app-wrap .cky-col-label{margin:0}.cky-app-wrap .cky-form-group{margin-bottom:20px}.cky-app-wrap .cky-form-control,.cky-app-wrap .cky-select{line-height:1.3}.cky-app-wrap .cky-select,.cky-app-wrap input[type=text]{height:40px}.cky-app-wrap .cky-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M10.293 3.293L6 7.586 1.707 3.293A1 1 0 00.293 4.707l5 5a1 1 0 001.414 0l5-5a1 1 0 10-1.414-1.414z'/%3E%3C/svg%3E");background-size:10px;background-position:calc(100% - 10px) 50%;background-repeat:no-repeat;padding:8px 25px 8px 14px}.cky-app-wrap .cky-section-settings{padding-bottom:20px;margin-bottom:30px;border-bottom:1px solid #d9d9d9}.cky-app-wrap .cky-section-settings .cky-section-settings-content>.cky-row>.cky-col-label{padding-left:30px;margin:0}.cky-app-wrap .cky-section-settings .cky-section-settings-header{padding-bottom:30px}.cky-app-wrap .cky-section-settings .cky-section-settings-inner .cky-form-group>label{padding-left:35px}.cky-app-wrap .cky-section-settings .cky-section-settings-inner .cky-section-settings-inner .cky-form-group>label{padding-left:70px}.cky-app-wrap .cky-form-group--color label{margin-bottom:10px;display:block}.cky-app-wrap .cky-form-check-label{margin-bottom:0}.cky-app-wrap .cky-form-check{margin-bottom:10px}.cky-app-wrap .cky-form-check:last-child{margin-bottom:0}.cky-app-wrap .cky-form-check-inline{display:inline-block;margin-right:1rem}.cky-app-wrap .cky-form-check-input{border:1px solid #b4b9be;background:#fff;color:#555;cursor:pointer;line-height:0;height:16px;margin:0 4px 0 0;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);transition:border-color .05s ease-in-out}.cky-app-wrap .cky-disabled{cursor:not-allowed;opacity:.5}.cky-app-wrap .cky-disabled a{cursor:not-allowed}.cky-app-wrap .cky-form-heading{font-weight:500;margin:0;margin-bottom:20px;font-size:14px}.cky-app-wrap .cky-form-section:not(:first-child){padding-top:15px}.cky-app-wrap .cky-form-section{padding-bottom:15px;border-bottom:1px solid #d9d9d9}.cky-app-wrap .cky-form-section:last-child{border-bottom:none;padding-bottom:0}.cky-app-wrap .cky-input-error-container{margin-top:4px}.cky-app-wrap .cky-input-error-container .cky-input-inline-error{color:#dc3545}.cky-app-wrap input[type=checkbox]{background-color:#fff;background-repeat:no-repeat;background-position:50%;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;border-radius:4px;margin:0 5px 0 0;box-shadow:none}.cky-app-wrap input[type=checkbox]:checked{background-color:#1863dc;border-color:#1863dc;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3 6-6'/%3E%3C/svg%3E")}.cky-app-wrap input[type=checkbox]:checked:before{content:""}.cky-app-wrap .cky-admin-notice{display:flex;justify-content:space-between;position:relative;margin:0 0 10px;box-shadow:0 5px 15px 0 rgba(0,0,0,.02);border:1px solid transparent;border-radius:4px;background:#fff}.cky-app-wrap .cky-admin-notice .cky-admin-notice-content{width:100%;display:flex;align-items:center;margin:0;padding:10px 15px}.cky-app-wrap .cky-admin-notice .cky-admin-notice-content p{margin:0 0 10px;padding:0;border:0;font-size:13px}.cky-app-wrap .cky-admin-notice .cky-admin-notice-content p:last-child{margin-bottom:0}.cky-app-wrap .cky-admin-notice .cky-admin-notice-content .cky-admin-notice-header{display:flex;align-items:center;margin:0 0 5px;padding:0;border:0;color:#23282d}.cky-app-wrap .cky-admin-notice .cky-admin-notice-content .cky-admin-notice-message{flex:1;position:relative;padding:5px 0 3px}.cky-app-wrap .cky-admin-notice .cky-admin-notice-content .cky-admin-notice-message .cky-admin-notice-icon{position:absolute;top:8px;left:-7px}.cky-app-wrap .cky-admin-notice .cky-admin-notice-content .cky-admin-notice-message .cky-admin-notice-icon.cky-sm{top:9px}.cky-app-wrap .cky-admin-notice .cky-admin-notice-content .cky-admin-notice-message .cky-admin-notice-icon.cky-md{top:7px}.cky-app-wrap .cky-admin-notice .cky-admin-notice-content .cky-admin-notice-message .cky-admin-notice-icon.cky-lg{top:5px}.cky-app-wrap .cky-admin-notice .cky-admin-notice-content .cky-admin-notice-message+.cky-admin-notice-actions{flex:0 0 auto;margin-right:-9px;margin-left:10px}.cky-app-wrap .cky-admin-notice.cky-admin-notice-has-icon .cky-admin-notice-content:before{content:"";width:15px;height:15px;margin-right:10px;margin-top:2px;display:flex;background-image:url(../img/success.svg);display:inline-block;background-repeat:no-repeat;background-size:100%}.cky-app-wrap .cky-admin-notice.cky-admin-notice-dismissable .cky-admin-notice-message{flex:1;position:relative;padding:5px 20px 3px 0}.cky-app-wrap .cky-admin-notice.cky-admin-notice-default .cky-admin-notice-content p{font-size:14px}.cky-app-wrap .cky-admin-notice.cky-admin-notice-info{border-color:#d7e1f2;background-color:#e1f6ff}.cky-app-wrap .cky-admin-notice.cky-admin-notice-info.cky-admin-notice-has-icon .cky-admin-notice-content:before{background-image:url(../img/warning.svg)}.cky-app-wrap .cky-admin-notice.cky-admin-notice-error{background-color:#fad2d7}.cky-app-wrap .cky-admin-notice.cky-admin-notice-error.cky-admin-notice-has-icon .cky-admin-notice-content:before{background-image:url(../img/error.svg)}.cky-app-wrap .cky-admin-notice.cky-admin-notice-warning{background-color:#ffe8c6}.cky-app-wrap .cky-admin-notice.cky-admin-notice-warning.cky-admin-notice-has-icon .cky-admin-notice-content:before{background-image:url(../img/warning.svg)}.cky-app-wrap .cky-admin-notice .cky-admin-notice-close{display:flex;align-items:center;margin-right:15px;position:absolute;right:0;top:10px}.cky-app-wrap .cky-admin-notice .cky-close{font-size:20px;font-weight:300;padding:0;background:transparent;border:none;display:inline-block;color:#7e7e7e;cursor:pointer}.cky-app-wrap .cky-notice-fade-enter-active{transition:opacity .5s}.cky-app-wrap .cky-notice-fade-enter,.cky-app-wrap .cky-notice-fade-leave-to{opacity:0}.cky-app-wrap .cky-card .cky-card-title{font-size:15px;line-height:16px;display:block;margin:0;padding:0;border:0}.cky-app-wrap .cky-card .cky-card-body{padding:20px 20px;min-height:152px;border:1px solid #d7e1f2;border-radius:5px;background:#fff;min-height:173px;position:relative;height:100%}.cky-app-wrap .cky-card .cky-card-body.cky-card-body--full{padding:0}.cky-app-wrap .cky-card .cky-card-label{display:block;font-size:14px;font-weight:500;line-height:18px;padding-bottom:10px}.cky-app-wrap .cky-card .cky-card-row{margin-bottom:15px}.cky-app-wrap .cky-card .cky-card-row:last-child{margin-bottom:0}.cky-app-wrap .cky-card .cky-card-col:not(:last-child){border-right:1px solid #d9d9d9}.cky-app-wrap .cky-card .cky-card-col{text-align:center;padding-top:20px;padding-bottom:20px}.cky-app-wrap .cky-loading .cky-card-body:before{content:" ";width:100%;position:absolute;z-index:11;top:0;bottom:0;left:0;border-radius:4px;background-color:#fff}.cky-app-wrap .cky-loading .cky-card-body{position:relative}.cky-app-wrap .cky-card-inner-title{margin:0}.cky-app-wrap .cky-card-header{margin:15px 0}.cky-app-wrap .cky-card-inner-title{margin-left:5px}.cky-app-wrap .cky-table{border:none;border-collapse:collapse;border-spacing:0;width:100%;clear:both;margin:0;background-color:#fff;min-height:100px;border:1px solid #d9d9d9}.cky-app-wrap .cky-table th{border-bottom:none;font-weight:500;padding:12px 10px}.cky-app-wrap .cky-table td{padding:8px 10px}.cky-app-wrap .cky-table td,.cky-app-wrap .cky-table th{vertical-align:middle}.cky-app-wrap .cky-table thead{background-color:#f6f7f7}.cky-app-wrap .cky-table tbody{position:relative}.cky-app-wrap .cky-table tbody tr{border-top:1px solid #d9d9d9;vertical-align:middle}.cky-app-wrap .cky-table td,.cky-app-wrap .cky-table tr{color:#23282d;font-size:14px}.cky-app-wrap .cky-table.cky-table-stripped tbody tr:nth-of-type(2n),.cky-app-wrap .cky-table.cky-table-stripped th{background-color:rgba(0,0,0,.05)}.cky-app-wrap .cky-table .cky-table-check-column{width:30px}.cky-app-wrap .cky-table tfoot td,.cky-app-wrap .cky-table th,.cky-app-wrap .cky-table thead td{text-align:left}.cky-app-wrap .cky-table-align--center td,.cky-app-wrap .cky-table-align--center th{text-align:center}.cky-app-wrap .cky-nav-tab .cky-nav-tab-item{margin:0;padding:0}.cky-app-wrap .cky-nav-tab .cky-nav-tab-button-icon{display:inline-flex;padding-right:5px}.cky-app-wrap .cky-nav-tab .cky-nav-tab-button{border:none;cursor:pointer;color:#505b66;background:transparent;font-weight:500}.cky-app-wrap .cky-nav-tab .cky-nav-tabs-container ul{list-style:none;padding-left:0}.cky-app-wrap .cky-nav-tab-content-container{position:relative}.cky-app-wrap .cky-vertical-tab{width:100%;border:1px solid #d9d9d9}.cky-app-wrap .cky-vertical-tab>.cky-nav-tabs-container{width:18%}.cky-app-wrap .cky-vertical-tab>.cky-nav-tab-content-container{width:82%}.cky-app-wrap .cky-vertical-tab .cky-nav-tab-button{padding:12px 10px;width:100%}.cky-app-wrap .cky-vertical-tab .cky-nav-tab-button:active,.cky-app-wrap .cky-vertical-tab .cky-nav-tab-button:focus,.cky-app-wrap .cky-vertical-tab .cky-nav-tab-button:hover{color:#1863dc}.cky-app-wrap .cky-vertical-tab .cky-nav-tab-button.cky-nav-tab-has-subtitle{justify-content:space-between}.cky-app-wrap .cky-vertical-tab .cky-vertical-tabs{margin:0}.cky-app-wrap .cky-vertical-tab .cky-vertical-tabs .cky-nav-tab-item{border-left:4px solid;border-left-color:transparent;border-bottom:1px solid #d9d9d9}.cky-app-wrap .cky-vertical-tab .cky-vertical-tabs .cky-nav-tab-item.active{background-color:#fff;margin-right:-1px;border-left-color:#1863dc}.cky-app-wrap .cky-vertical-tab .cky-vertical-tabs .cky-nav-tab-item.active .cky-nav-tab-button{color:#1863dc;background-color:#fff}.cky-app-wrap .cky-vertical-tab .cky-nav-tab-content-container{padding:15px 20px}.cky-app-wrap .cky-vertical-tab .cky-vertical-tabs{border-right:1px solid #d9d9d9;height:100%}.cky-app-wrap .cky-vertical-tab .cky-nav-tab-setion-header--inner{margin-left:-20px;margin-right:-20px}.cky-app-wrap .cky-horizontal-tab .cky-horizontal-tabs{margin:0}.cky-app-wrap .cky-horizontal-tab .cky-horizontal-tabs .cky-nav-tab-item{border-top:4px solid;border-color:transparent}.cky-app-wrap .cky-horizontal-tab .cky-horizontal-tabs .cky-nav-tab-item .cky-nav-tab-button{padding:12px 20px;width:100%;color:#23282d}.cky-app-wrap .cky-horizontal-tab .cky-horizontal-tabs .cky-nav-tab-item.active{background:#fff;border-color:#1863dc}.cky-app-wrap .cky-horizontal-tab .cky-horizontal-tabs .cky-nav-tab-item.active .cky-nav-tab-button,.cky-app-wrap .cky-horizontal-tab .cky-nav-tab-content-container{background:#fff}.cky-app-wrap .cky-nav-tab-section-header{margin-top:-15px;border-bottom:1px solid #d9d9d9;padding:5px 0}.cky-app-wrap .cky-nav-tab-section-content{padding-top:20px}.cky-app-wrap .cky-nav-tab-section-actions button{margin-left:10px}.cky-app-wrap .cky-app-modal-backdrop{width:calc(100% - 160px);height:calc(100vh - 32px);overflow-x:hidden;overflow-y:auto;position:fixed;background-color:rgba(51,51,51,.75);display:flex;justify-content:center;align-items:center;top:32px;left:160px;z-index:99999999}.cky-app-wrap .cky-app-modal-backdrop.cky-app-modal-floating{background-color:rgba(0,0,0,.15)}.cky-app-wrap .cky-app-modal-backdrop.cky-app-modal-floating .cky-app-modal{box-shadow:0 5px 20px rgba(0,0,0,.10196078431372549);border:1px solid #e8e8eb;border-radius:3px}.cky-app-wrap .cky-app-modal{background:#fff;display:flex;flex-direction:column;width:100%;max-width:660px;border-radius:2px;transition:all .4s ease;max-height:calc(100% - 3.5rem)}.cky-app-wrap .cky-app-modal .cky-button-close{fill:#fff}.cky-app-wrap .cky-app-modal-header{padding:20px 30px;display:flex}.cky-app-wrap .cky-app-modal-footer{padding:0 30px 20px 30px}.cky-app-wrap .cky-app-modal-header{position:relative;justify-content:space-between;align-items:center;text-align:left;border-bottom:1px solid #dfe1e5}.cky-app-wrap .cky-app-modal-header h4{margin:0}.cky-app-wrap .cky-app-modal-footer{flex-direction:column}.cky-app-wrap .cky-app-modal-footer .cky-app-modal-actions button{margin-left:10px}.cky-app-wrap .cky-app-modal-body{position:relative;padding:20px 30px;max-height:calc(100vh - 3.5rem);overflow-y:auto}.cky-app-wrap .cky-button-close{position:absolute;right:15px;border:none;cursor:pointer;background:transparent}.cky-app-wrap .cky-app-modal-fade-enter,.cky-app-wrap .cky-app-modal-fade-modal-leave-active{opacity:0}.cky-app-wrap .cky-app-modal-fade-enter .cky-app-modal{transform:scale(1.1)}.cky-connect-success{width:calc(100% - 160px);height:calc(100vh - 32px);overflow-x:hidden;overflow-y:auto;position:fixed;background-color:#fff;display:flex;justify-content:center;align-items:center;top:32px;left:160px;z-index:999}.cky-app-wrap .cky-app-accordion-item{padding:0;position:relative;margin-bottom:10px}.cky-app-wrap .cky-app-accordion-item .cky-app-accordion-content{display:none;height:0;overflow:hidden;transition:height .2s}.cky-app-wrap .cky-app-accordion-item.cky-app-accordion-open>.cky-app-accordion-content{display:block;height:auto}.cky-app-wrap .cky-app-accordion-enter-active{will-change:height,opacity;transition:height .3s ease,opacity .3s ease;overflow:hidden}.cky-app-wrap .cky-app-accordion-enter,.cky-app-wrap .cky-app-accordion-leave-active{will-change:height,opacity;height:0;opacity:0}.cky-app-wrap .cky-app-accordion-title{cursor:pointer;margin:0;color:#1863dc;display:flex;align-items:center;font-weight:500}.cky-app-wrap .cky-app-accordion-content>.cky-app-accordion-content-inner{padding:15px 0}.cky-app-wrap .cky-app-accordion-title:after{content:"";margin-left:10px}.cky-app-wrap .cky-app-accordion-title:after,.cky-app-wrap .cky-app-accordion-title:before{display:block;width:15px;height:12px;opacity:.8;width:11px;height:8px;transition:transform .1s ease;-webkit-mask-image:url(../img/arrow-bold.svg);mask-image:url(../img/arrow-bold.svg);background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center}.cky-app-wrap .cky-app-accordion-open>.cky-app-accordion-trigger .cky-app-accordion-title:after{transform:rotate(180deg)}.cky-app-wrap .cky-app-accordion{list-style:none;margin:0;padding:0}.cky-app-wrap .cky-app-accordion.cky-app-accordion-boxed .cky-app-accordion-title{color:inherit;padding:13px 20px}.cky-app-wrap .cky-app-accordion.cky-app-accordion-boxed .cky-app-accordion-title:after{content:normal}.cky-app-wrap .cky-app-accordion.cky-app-accordion-boxed .cky-app-accordion-title:before{content:"";margin-right:10px;transform:rotate(-90deg)}.cky-app-wrap .cky-app-accordion.cky-app-accordion-boxed .cky-app-accordion-open .cky-app-accordion-title:before{transform:none}.cky-app-wrap .cky-app-accordion.cky-app-accordion-boxed .cky-app-accordion-open .cky-app-accordion-title{border-bottom:1px solid #f3f4f5}.cky-app-wrap .cky-app-accordion.cky-app-accordion-boxed .cky-app-accordion-item{background-color:#fff;border-radius:4px}.cky-app-wrap .cky-app-accordion.cky-app-accordion-boxed .cky-app-accordion-item>.cky-app-accordion-content .cky-app-accordion-content-inner{padding:15px 20px}.cky-app-wrap .cky-upgrade-button-container{display:flex;align-items:center;justify-content:center;flex-direction:column}.cky-app-wrap .cky-upgrade-button-container button{min-width:320px}.cky-app-wrap .cky-upgrade-button-container .cky-seperator-text{margin:5px 0}.cky-app-wrap .cky-info-widget-container{display:flex;justify-content:space-between}.cky-app-wrap .cky-info-widget-container .cky-info-widget{display:flex;align-items:center;padding:20px 15px;border:1px solid #d7e1f2;border-radius:6px;width:48.5%}.cky-app-wrap .cky-info-widget-container .cky-info-widget .cky-info-widget-icon{max-width:50px}.cky-app-wrap .cky-info-widget-container .cky-info-widget .cky-info-widget-content{margin-left:10px;display:flex;flex-direction:column}.cky-app-wrap .cky-info-widget-container .cky-info-widget .cky-info-widget-content .cky-info-widget-text{font-size:15px;font-weight:600;line-height:17px;text-transform:capitalize;margin-top:3px}.cky-app-wrap .cky-info-widget-container .cky-info-widget .cky-info-widget-content .cky-info-widget-title{font-size:13px;line-height:15px;color:#676767}.cky-app-wrap .cky-admin-notice-api-error{margin-top:20px;margin-bottom:-10px}.cky-spinner{display:inline-flex}.cky-rich-text-editor-container .wp-switch-editor{height:auto;border-top-left-radius:3px;border-top-right-radius:3px}.cky-rich-text-editor-container .wp-editor-container{box-shadow:none;border:none;border-radius:3px;border:1px solid #d1d5db}.cky-rich-text-editor-container .mce-panel{box-shadow:none;border-radius:3px;border:none!important}.cky-rich-text-editor-container .mce-statusbar,.cky-rich-text-editor-container .mce-toolbar-grp,.cky-rich-text-editor-container .quicktags-toolbar{border:none;background:#fff;padding:0;min-height:0}.cky-rich-text-editor-container .mce-top-part{display:none}.cky-rich-text-editor-container iframe{min-height:100px}.cky-app-wrap .cky-upgrade-modal .cky-app-modal{max-width:700px}.cky-app-wrap .cky-upgrade-modal .cky-app-modal-body{padding:30px 20px}.cky-app-wrap .cky-upgrade-modal .cky-app-modal-footer{padding:0 20px 30px 20px}.cky-app-wrap .cky-upgrade-modal .cky-upgrade-modal-title{font-size:20px;margin:0}.cky-app-wrap .cky-upgrade-modal .cky-upgrade-modal-message{margin-top:15px}.cky-app-wrap .cky-upgrade-modal .cky-button-close{top:15px;right:10px}.cky-tab-content-accordion{margin-top:10px}.cky-tab-content-accordion .cky-app-accordion-item{border:1px solid #e6eaf0}.cky-tab-content-accordion .cky-app-accordion-content .cky-color-picker-input{background-color:#fff;width:100%;border:2px solid #f6f7f7}.cky-tab-content-accordion .cky-app-accordion-item:last-child{margin-bottom:12px}.cky-app-rtl .cky-rich-text-editor,.cky-app-rtl .cky-rich-text-editor *,.cky-app-rtl .cky-rich-text-editor-container *,.cky-app-rtl input{direction:rtl;text-align:right}.cky-card-loader--line[data-v-4bc5d6ea]{opacity:.5;background:#f6f7f8;background:linear-gradient(90deg,#d7e1f2 8%,#c1d1eb 18%,#d7e1f2 33%);background-size:800px 100px;border-radius:3px;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:shimmer-data-v-4bc5d6ea;animation-name:shimmer-data-v-4bc5d6ea;-webkit-animation-timing-function:linear;animation-timing-function:linear;height:10px;width:100%}.cky-card-loader--line[data-v-4bc5d6ea]:first-child{width:70%;height:15px}.cky-card-loader--line[data-v-4bc5d6ea]:nth-child(2){width:60%}.cky-card-loader--line[data-v-4bc5d6ea]:not(:first-child){margin-top:6px}.cky-card-loader--rect[data-v-4bc5d6ea]{min-height:35px}.cky-loading .cky-card-loader-container[data-v-4bc5d6ea]{display:flex;align-items:center;position:absolute;z-index:12;top:0;left:0;right:0;width:100%;height:100%;padding:15px;min-height:114px}.cky-loading .cky-card-loader-container .cky-card-loader[data-v-4bc5d6ea]{width:100%}@-webkit-keyframes shimmer-data-v-4bc5d6ea{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes shimmer-data-v-4bc5d6ea{0%{background-position:-400px 0}to{background-position:400px 0}}.cky-app-wrap h3.cky-section-title-heading{font-weight:400}.cky-app-wrap .cky-edit-content{border:1px solid #d9d9d9;padding:15px;background-color:#fff}.cky-app-wrap .cky-edit-content h4{font-weight:500}.cky-app-wrap .cky-edit-content .cky-select{min-width:180px;max-height:35px;margin-left:10px;width:auto}.cky-app-wrap .cky-edit-content .cky-rich-text-editor .ql-editor{min-height:200px;max-height:200px;overflow:scroll}.cky-app-wrap .cky-edit-content .cky-app-accordion .cky-form-section:not(.cky-form-section-group) .cky-col-3.cky-col-label{display:none}.cky-app-wrap .cky-edit-content .cky-app-accordion .cky-form-section:not(.cky-form-section-group) .cky-col-9{width:100%;max-width:100%;flex-basis:100%}.cky-app-wrap .cky-edit-content .cky-form-heading{margin-bottom:10px}.cky-app-wrap .cky-edit-content .cky-app-accordion-boxed .cky-app-accordion-title{background-color:#f6f7f7}.cky-app-wrap .cky-edit-content-lists{margin-top:10px;border:1px solid #d9d9d9;padding:15px;background-color:#fff}.cky-app-wrap .cky-button-section button,.cky-app-wrap .cky-edit-content-lists button{margin-left:10px}.cky-app-wrap .cky-select-label{margin-top:10px}.cky-app-wrap .cky-loader-languages .cky-card-loader-container:not(:first-child){margin-top:15px}.cky-app-wrap .cky-button{position:relative}.cky-app-wrap .cky-input-error input[data-v-529f0665]{border-color:#dc3545}.cky-app-wrap .cky-input-error input[data-v-529f0665]:active,.cky-app-wrap .cky-input-error input[data-v-529f0665]:focus{box-shadow:0 0 0 .5px #dc3545}.cky-popper-container{display:inline-block;vertical-align:middle;margin-left:5px}.cky-popper{color:#fff;text-align:center;padding:8px 12px;border-radius:4px;vertical-align:middle;max-width:240px;font-size:12px;font-weight:400;line-height:16px;background:#0e0d0d;z-index:9999}.cky-popper-arrow{border-width:5px;border-style:solid}.cky-popper[data-popper-placement^=top]>.cky-popper-arrow{border-color:#0e0d0d transparent transparent transparent;bottom:-10px}.cky-popper[data-popper-placement^=bottom]>.cky-popper-arrow{top:-10px;border-color:transparent transparent #0e0d0d transparent}.cky-popper[data-popper-placement^=left]>.cky-popper-arrow{border-color:transparent transparent transparent #0e0d0d;right:-10px}.cky-popper[data-popper-placement^=right]>.cky-popper-arrow{border-color:transparent #0e0d0d transparent transparent;left:-10px}.cky-popper-icon{background-image:url(../img/tooltip.svg);width:12px;height:12px}.cky-poppper-trigger{display:inline-block}admin/dist/css/chunk-a7a40d04.css000064400000010470150514563140012341 0ustar00.cky-dropdown{position:relative}.cky-dropdown .cky-dropdown-content{width:100%;display:none;position:absolute;z-index:10;top:100%;left:auto;margin:0 0 0;padding:10px 10px;border:1px solid #ddd;border-radius:3px;background-color:#fff;box-shadow:0 3px 7px 0 rgba(0,0,0,.07);transition:.3s ease}.cky-dropdown .cky-dropdown-content ul{max-height:180px;padding:0;margin:0}.cky-dropdown .cky-dropdown-content ul li{list-style:none;margin:0;padding:5px 0}.cky-dropdown .cky-dropdown-content ul li .cky-form-group{margin:0}.cky-dropdown .cky-dropdown-content ul li:hover{background:#f8f9fa}.cky-dropdown .cky-dropdown-content ul li a{display:block}.cky-dropdown .cky-dropdown-anchor{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M10.293 3.293L6 7.586 1.707 3.293A1 1 0 00.293 4.707l5 5a1 1 0 001.414 0l5-5a1 1 0 10-1.414-1.414z'/%3E%3C/svg%3E");background-size:10px;background-position:calc(100% - 10px) 50%;background-repeat:no-repeat;padding:8px 30px 8px 14px;min-height:40px;height:-webkit-max-content;height:-moz-max-content;height:max-content;outline:none;box-shadow:none;width:100%;margin:0;border:1px solid #ddd;border-radius:3px;font-size:14px;font-weight:400;transition:.3s ease-in-out;line-height:16px;background-color:#fff;text-align:left;cursor:pointer}.cky-dropdown.open .cky-dropdown-content{display:block}.cky-app-wrap .cky-banner-selector{display:flex;justify-content:space-between;max-width:300px;align-items:center;border:.5px solid #adadad;border-radius:4px;padding:0 2px 0 12px;background:#f6f7f7}.cky-app-wrap .cky-banner-selector .cky-dropdown-content{min-width:130px;transform:translate3d(-45px,0,0)}.cky-app-wrap .cky-banner-selector .cky-dropdown-content a{text-transform:uppercase;color:#23282d}.cky-app-wrap .cky-banner-selector .cky-label{margin-bottom:0;font-weight:500}.cky-app-wrap .cky-banner-selector .cky-dropdown .cky-dropdown-anchor{background-color:transparent;border:none}.cky-app-wrap .cky-banner-selector .cky-popper{width:200px}.cky-app-wrap .cky-banner-selector .cky-popper-container{margin-left:0}.cky-app-wrap .cky-app-accordion-advanced>.cky-app-accordion-content .cky-app-accordion-content-inner{padding-left:0}.cky-app-wrap .cky-pro-features{flex-direction:column;padding:15px}.cky-app-wrap .cky-pro-features p{margin-top:10px}.cky-app-wrap .cky-pro-features .cky-icon-base{margin-right:5px}.cky-app-wrap .cky-banner-tab-cookies{padding:15px 0}.cky-banner-layout-items{display:flex}.cky-banner-layout-items .cky-radio-group:not(:first-child){margin-left:15px}.cky-banner-layout-items .cky-image-radio img{width:100px}.cky-banner-layout-items .cky-radio-icon{position:relative}.cky-banner-layout-items .cky-radio.cky-image-radio.checked .cky-radio-icon:before{content:"";display:inline-block;width:15px;height:15px;position:absolute;bottom:0;right:0;background:url(../img/success.svg);background-repeat:no-repeat}.cky-section-layout{padding:20px;background:#fff}.cky-app-wrap .cky-banner-theme-radio .cky-radio{display:inline-flex;align-items:center}.cky-app-wrap .cky-banner-theme-radio .cky-radio input[type=radio]{margin-right:5px}.cky-section-css{position:relative;padding:15px;background:#fff}.cky-section-css textarea{min-height:350px;background:#edf0f3}.cky-section-css .cky-feature-content{opacity:1}.cky-section-css .cky-upgrade-modal-css{background:transparent;width:calc(100% - 60px);max-width:660px;position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);margin:0 auto;height:auto;z-index:0}.cky-app-wrap .cky-nav-tab-banner-settings .cky-nav-tab-content-container{background-color:#e6e8e9}.cky-app-wrap .cky-nav-tab-banner-settings .cky-nav-tab-section-content{min-height:700px}.cky-app-wrap .cky-nav-tab-banner-settings .cky-nav-tab-button{background-color:transparent}.cky-app-wrap .cky-nav-tab-banner-settings .cky-vertical-tabs .cky-nav-tab-item{border-bottom:none}.cky-app-wrap .cky-nav-tab-banner-settings .cky-vertical-tabs .cky-nav-tab-item.active,.cky-app-wrap .cky-nav-tab-banner-settings .cky-vertical-tabs .cky-nav-tab-item.active .cky-nav-tab-button{background-color:#e6e8e9}.cky-app-wrap h3.cky-section-title-heading{font-weight:400}.cky-app-wrap .cky-banner-preview-toggler{margin-left:15px}.cky-app-wrap .cky-banner-preview-toggler .cky-popper-container{display:flex;margin-left:0}admin/dist/css/chunk-0495ae18.css000064400000002162150514563140012274 0ustar00.cky-spinner-loader{width:48px;height:48px;border:5px solid #c9d0d6;border-bottom-color:#1863dc;border-radius:50%;display:inline-block;box-sizing:border-box;-webkit-animation:rotation 1s linear infinite;animation:rotation 1s linear infinite}@-webkit-keyframes rotation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes rotation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.cky-connect-success .cky-connect-success-container{display:flex;flex-direction:column;align-items:center}.cky-connect-success .cky-connect-success-icon{background-image:url(../img/connect-success.svg);width:60px;height:60px;background-size:contain;background-repeat:no-repeat}.cky-connect-success .cky-connect-success-message{margin-top:15px;margin-bottom:40px;text-align:center}.cky-connect-success .cky-connect-success-animate{max-width:600px;margin-top:20px}.cky-card-policy,.cky-connect-success .cky-connect-loader{display:flex;flex-direction:column;align-items:center;justify-content:center}.cky-card-policy{padding:20px 70px 30px 70px;text-align:center;background:#fff;min-height:450px}.cky-card-policy .cky-policy-icon{margin:30px 0}admin/dist/css/chunk-55c96061.css000064400000001271150514563140012216 0ustar00.cky-consent-chart-section .cky-consent-chart{display:flex;align-items:center;justify-content:center}.cky-consent-chart-section .cky-legend-label{font-size:13px;font-weight:500;color:#23282d;padding-left:20px}.cky-consent-chart-section .cky-legend-indice{width:10px;height:10px;display:inline-block}.cky-consent-chart-section .cky-consent-chart-legend li{list-style:none;margin-bottom:0;padding:6px 0;line-height:16px}.cky-consent-chart-section .cky-consent-chart-legend li:not(:last-child){border-bottom:1px solid #d9d9d9}.cky-consent-chart-section .cky-consent-chart-legend{margin:0}.cky-consent-chart-section .cky-empty-state{position:absolute;top:50%;transform:translateY(-50%);left:0;right:0}admin/dist/css/chunk-7c350c38.css000064400000007753150514563140012306 0ustar00.cky-stats-col{flex:1;padding-left:15px;padding-right:15px;padding-top:30px;padding-bottom:30px}.cky-stats-col:not(:last-child){border-right:1px solid #d7e1f2}.cky-stats-col:last-child{padding-right:0}.cky-stats-col:first-child{padding-left:0}.cky-stats-count{font-size:25px;font-weight:700;padding-top:25px;line-height:30px}.cky-stats-title{font-weight:500;line-height:normal;font-size:14px}.cky-app-wrap .cky-admin-notice.cky-notice-migration{margin-top:20px;margin-bottom:-10px}.cky-spinner-loader{width:48px;height:48px;border:5px solid #c9d0d6;border-bottom-color:#1863dc;border-radius:50%;display:inline-block;box-sizing:border-box;-webkit-animation:rotation 1s linear infinite;animation:rotation 1s linear infinite}@-webkit-keyframes rotation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes rotation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.cky-connect-success .cky-connect-success-container{display:flex;flex-direction:column;align-items:center}.cky-connect-success .cky-connect-success-icon{background-image:url(../img/connect-success.svg);width:60px;height:60px;background-size:contain;background-repeat:no-repeat}.cky-connect-success .cky-connect-success-message{margin-top:15px;margin-bottom:40px;text-align:center}.cky-connect-success .cky-connect-success-animate{max-width:600px;margin-top:20px}.cky-connect-success .cky-connect-loader{display:flex;flex-direction:column;align-items:center;justify-content:center}.cky-app-wrap .cky-connect-notice{border:1px solid #d7e1f2;border-radius:5px;margin-top:30px;margin-bottom:0}.cky-app-wrap .cky-connect-notice .cky-icon-base{margin-right:5px}.cky-app-wrap .cky-connect-notice .cky-admin-notice-content{width:100%;padding:15px 20px}.cky-app-wrap .cky-connect-notice .cky-connect-features{margin:15px 0}.cky-app-wrap .cky-connect-notice .cky-connect-features span{margin-right:3px;color:#1863dc;font-weight:800;font-size:16px}.cky-app-wrap .cky-connect-notice .cky-connect-button-container{display:flex;flex-direction:column;justify-content:flex-end}.cky-app-wrap .cky-connect-notice .cky-connect-button-container button:not(:first-child){margin-top:10px}.cky-app-wrap .cky-connect-notice .cky-button-connect{margin-right:15px;min-width:250px}.cky-app-wrap .cky-connect-notice.cky-connect-notice-disabled{background:radial-gradient(75.49% 775.24% at 68.84% 100%,rgba(45,173,112,.16) 0,rgba(24,99,220,.16) 43.3%,rgba(98,151,219,.16) 98.84%) #fff;color:#505b66}.cky-app-wrap .cky-connect-notice.cky-connect-notice-disabled .cky-admin-notice-content .cky-admin-notice-header{color:#000}.cky-app-wrap .cky-connect-notice.cky-connect-notice-disabled .cky-admin-notice-content p{color:rgba(0,0,0,.8)}.cky-app-wrap .cky-connect-notice .cky-connect-notice-message{padding-top:10px;padding-bottom:15px}.cky-app-wrap .cky-connect-notice .cky-connect-notice-message p{margin:0}.cky-app-wrap .cky-upgrade-widget p{font-size:16px}.cky-app-wrap .cky-upgrade-widget .cky-card-body{background-image:url(../img/pro.svg);padding:20px 30px;background-repeat:no-repeat;background-position:100% 100%;background-size:50%}.cky-app-wrap .cky-upgrade-widget .cky-premium-features-list ul{list-style-type:none;padding-left:0}.cky-app-wrap .cky-upgrade-widget .cky-premium-features-list ul li{color:#009262;font-weight:500;margin-bottom:10px}.cky-app-wrap .cky-upgrade-widget .cky-premium-features-list ul li:before{content:"✓"}.cky-app-wrap .cky-upgrade-widget .cky-admin-notice-header{font-size:24px;line-height:34px;margin:0;color:#0056a7}.cky-app-wrap .cky-upgrade-widget .cky-button.cky-button-medium{min-width:200px;font-size:16px;border-radius:5px;padding:12px 20px;font-weight:600}.cky-app-wrap .cky-dashboard-overview .cky-card:not(.cky-loading){height:100%}.cky-app-wrap .cky-dashboard-overview .cky-card:not(.cky-loading) .cky-card-body{min-height:340px;height:100%}.cky-app-wrap .cky-dashboard-overview .cky-card-row-actions{padding-top:5px}.cky-stats-section[data-v-72c85508]{padding:15px 0}.cky-admin-notice-board[data-v-72c85508]{border:none}.cky-section-connect[data-v-72c85508]{margin-top:15px}admin/dist/js/chunk-69ed221f.js000064400000031777150514563140012044 0ustar00(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-69ed221f"],{"0769":function(e,t,a){"use strict";a("3b30")},"3b30":function(e,t,a){},"52a8":function(e,t,a){},a655:function(e){e.exports=JSON.parse('{"notice":{"elements":{"title":"","description":"","privacyLink":"","buttons":{"elements":{"accept":"","reject":"","settings":"","readMore":"","donotSell":""}},"closeButton":""}},"categoryPreview":{"elements":{"buttons":{"elements":{"save":""}}}},"preferenceCenter":{"elements":{"title":"","description":"","showMore":"","showLess":"","category":{"elements":{"alwaysEnabled":"","enable":"","disable":""}},"buttons":{"elements":{"accept":"","save":"","reject":""}},"closeButton":""}},"optoutPopup":{"elements":{"title":"","description":"","optOption":{"elements":{"title":"","enable":"","disable":""}},"gpcOption":{"elements":{"description":""}},"showLess":"","showMore":"","buttons":{"elements":{"cancel":"","confirm":""}},"closeButton":""}},"revisitConsent":{"elements":{"title":""}},"auditTable":{"elements":{"headers":{"elements":{"id":"","duration":"","description":""}},"message":""}},"videoPlaceholder":{"elements":{"title":""}}}')},ac1d:function(e,t,a){"use strict";a("e2e6")},ad98:function(e,t,a){"use strict";a.r(t);var s=function(){var e=this,t=e.$createElement,a=e._self._c||t;return e.$route.params.language?a("div",[a("transition",{attrs:{name:"fade"}},[a("router-view")],1)],1):a("div",{staticClass:"cky-section cky-zero--padding cky-zero--margin"},[a("div",{staticClass:"cky-section-header cky-align-center"},[a("div",{staticClass:"cky-section-title"},[a("h3",[e._v(e._s(e.$i18n.__("Languages","cookie-law-info")))])]),a("div",{staticClass:"cky-section-header-actions cky-align-center"},[a("button",{staticClass:"cky-button",on:{click:e.openLanguageModal}},[e._v(" + "+e._s(e.$i18n.__("Add Language","cookie-law-info"))+" ")])])]),a("div",{staticClass:"cky-section-content"},[a("div",{staticClass:"cky-row"},[a("div",{staticClass:"cky-col-12"},[a("div",{staticClass:"cky-consent-language-lists"},[a("table",{staticClass:"wp-list-table cky-table"},[a("thead",[a("tr",[a("th",[e._v(e._s(e.$i18n.__("Language List","cookie-law-info")))]),a("th",[e._v(e._s(e.$i18n.__("Language Code","cookie-law-info")))]),a("th"),a("th")])]),e.loading?a("tbody",[a("tr",[a("td",[a("p",{staticClass:"cky-loading-text"},[a("cky-loader"),e._v(" "+e._s(e.$i18n.__("Loading languages","cookie-law-info"))+" ")],1)])])]):a("tbody",e._l(e.selectedLanguages,(function(t){return a("tr",{key:t.code},[a("td",[e._v(e._s(t.name))]),a("td",{staticClass:"cky-language-table-col"},[e._v(" "+e._s(t.code)+" ")]),a("td",[e.defaultLanguage==t.code?a("div",{staticClass:"cky-align-center"},[a("cky-badge",{attrs:{title:e.$i18n.__("Default","cookie-law-info"),type:"info"}})],1):e._e()]),a("td",{staticClass:"cky-language-table-col-actions"},[a("div",{staticClass:"cky-row"},[a("div",{staticClass:"cky-col"},[a("div",{staticClass:"cky-justify-end"},[a("router-link",{attrs:{to:"languages/edit/"+t.code,custom:""},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.navigate;return[a("a",{staticClass:"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcky-button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcky-button-secondary\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcky-button-small\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcky-button-icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t",on:{click:s}},[a("cky-icon",{attrs:{icon:"editAlt",width:"13"}}),e._v(" "+e._s(e.$i18n.__("Edit Content","cookie-law-info"))+" ")],1)]}}],null,!0)}),a("div",{staticClass:"cky-languages-more-actions",attrs:{disabled:e.defaultLanguage==t.code}},[a("button",{staticClass:"cky-button cky-button-secondary",attrs:{"data-type":"icon"}},[e._v(" ... ")]),a("div",{staticClass:"cky-languages-more-actions-list"},[a("ul",[a("li",[e.defaultLanguage===t.code?a("cky-popper",{attrs:{content:e.$i18n.__("You can't delete the default language.","cookie-law-info")}},[a("a",{class:{"cky-disabled":e.defaultLanguage==t.code},on:{click:function(a){return e.deleteLanguage(t)}}},[e._v(e._s(e.$i18n.__("Delete","cookie-law-info"))+" ")])]):a("a",{on:{click:function(a){return e.deleteLanguage(t)}}},[e._v(e._s(e.$i18n.__("Delete","cookie-law-info"))+" ")])],1),a("li",[a("a",{class:{"cky-disabled":e.defaultLanguage==t.code},on:{click:function(a){return e.setDefault(t,"default")}}},[e._v(e._s(e.$i18n.__("Set as default","cookie-law-info")))])])])])])],1)])])])])})),0)])])])])]),a("cky-language-selector",{ref:"ckyLanguageSelector"})],1)},n=[],i=a("a655"),c=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("cky-modal",{ref:"ckyLanguagesModal",staticClass:"cky-app-modal-languages",on:{close:e.closeLanguageModal},scopedSlots:e._u([{key:"header",fn:function(){return[s("h4",[e._v(e._s(e.$i18n.__("Add language","cookie-law-info")))])]},proxy:!0},{key:"body",fn:function(){return[s("div",{staticClass:"cky-row"},[s("div",{staticClass:"cky-col-12"},[s("cky-dropdown",{ref:"languageSelector",staticClass:"cky-dropdown-languages",attrs:{sticky:!0,text:e.$i18n.__("Select prefered language(s)","cookie-law-info"),active:!0},on:{ckyToggleDropDown:e.toggleDropDown}},[s("div",{staticClass:"cky-dropdown-search-input"},[s("input",{directives:[{name:"model",rawName:"v-model",value:e.searchText,expression:"searchText"}],ref:"ckySearchInput",staticClass:"cky-form-control",attrs:{type:"text",placeholder:e.$i18n.__("Search...","cookie-law-info")},domProps:{value:e.searchText},on:{input:function(t){t.target.composing||(e.searchText=t.target.value)}}})]),s("ul",e._l(e.filterLanguages,(function(t){return s("li",{key:t.code},[s("div",{staticClass:"cky-form-group"},[s("input",{directives:[{name:"model",rawName:"v-model",value:e.tempSelectedLanguages,expression:"tempSelectedLanguages"}],attrs:{type:"checkbox",id:"cky-checkbox-language-"+t.code,disabled:e.isExist(t.code)},domProps:{value:t.code,checked:Array.isArray(e.tempSelectedLanguages)?e._i(e.tempSelectedLanguages,t.code)>-1:e.tempSelectedLanguages},on:{change:function(a){var s=e.tempSelectedLanguages,n=a.target,i=!!n.checked;if(Array.isArray(s)){var c=t.code,o=e._i(s,c);n.checked?o<0&&(e.tempSelectedLanguages=s.concat([c])):o>-1&&(e.tempSelectedLanguages=s.slice(0,o).concat(s.slice(o+1)))}else e.tempSelectedLanguages=i}}}),s("label",{staticClass:"cky-label",attrs:{for:"cky-checkbox-language-"+t.code}},[e._v(e._s(t.name)+" ("+e._s(t.code)+")")])]),!e.isTranslated(t.code)&&e.isAdded(t.code)?s("span",{staticClass:"cky-language-notice"},[s("img",{attrs:{src:a("d645"),alt:"alert-icon"}}),s("span",{staticClass:"cky-notice-inner"},[e._v(" "+e._s(e.$i18n.__("Translations not available","cookie-law-info"))+" ")])]):e._e()])})),0)])],1)]),s("div",{staticClass:"cky-row"},[s("div",{staticClass:"cky-col-12"},[s("Transition",[s("cky-notice",{directives:[{name:"show",rawName:"v-show",value:!e.checkIfTranslated&&e.visible,expression:"!checkIfTranslated && visible"}],staticStyle:{"margin-top":"15px"},attrs:{type:"warning"}},[s("p",[e._v(" "+e._s(e.$i18n.__("Note: Translations are not available for some of the languages you have added, so the banner content that has not been translated will be displayed in English unless you add translations for these languages manually.","cookie-law-info"))+" ")])])],1)],1)])]},proxy:!0},{key:"footer",fn:function(){return[s("div",{staticClass:"cky-app-modal-actions cky-justify-end"},[s("div",{staticClass:"cky-action-languages cky-actions-group cky-justify-end"},[s("button",{staticClass:"cky-button cky-button-secondary",on:{click:e.close}},[e._v(" Cancel ")]),s("button",{staticClass:"cky-button cky-button-primary",attrs:{disabled:e.disabled},on:{click:e.addSelectedLanguages}},[e._v(" Add ")])])])]},proxy:!0}])})},o=[],l=a("8a80"),r=a("c2c9"),u=a("f61e"),d=a("462b"),g={name:"CkyLanguageSelector",components:{CkyModal:l["a"],CkyDropdown:r["a"],CkyNotice:d["a"]},data(){return{searchText:"",tempSelectedLanguages:[],languages:{},currentTab:"layout",searchLanguages:[],filteredLanguages:[],visible:!0}},methods:{showIcon(e){return!!e.icon},async open(){await this.$refs.ckyLanguagesModal.show(),this.$refs.ckySearchInput.focus(),this.searchText="",this.getConfiguredLanguages()},close(){this.$refs.ckyLanguagesModal.close()},closeLanguageModal(){this.tempSelectedLanguages=this.selectedLanguages},getAvailableLanguages(){this.languages=this.$store.state.languages.available},getConfiguredLanguages(){this.tempSelectedLanguages=this.selectedLanguages},async addSelectedLanguages(){try{this.$store.dispatch("languages/setSelected",this.tempSelectedLanguages),await this.$store.dispatch("languages/saveSelected"),this.close(),await this.purgeCache(),await this.$store.dispatch("banners/reInit"),await this.$store.dispatch("cookies/reInit")}catch(e){console.log(e),this.$root.$emit("triggerNotification",{type:"error",message:this.$i18n.__("Problem occurred while adding languages. Please try again later!","cookie-law-info")})}},isTranslated(e="en"){const t=u["a"].getTranslatedLanguages();return t.includes(e)},isAdded(e="en"){const t=this.tempSelectedLanguages;return t.includes(e)},isExist(e="en"){const t=this.selectedLanguages;return t.includes(e)},toggleDropDown(){this.visible=!this.visible}},computed:{currentTabComponent:function(){return"tab-"+this.currentTab.toLowerCase()},selectedLanguages:function(){return this.$store.state.languages.selected},filterLanguages(){if(this.languages.length>0){let e=[],t=[],a=[];return this.languages.forEach(a=>{this.selectedLanguages.includes(a.code)?e.push(a):t.push(a)}),a=e.concat(t),a.filter(e=>e.name.toLowerCase().includes(this.searchText.toLowerCase()))}return[]},disabled(){const e=this.tempSelectedLanguages.filter(e=>!this.selectedLanguages.includes(e));return!e.length},checkIfTranslated(){let e=!0;return this.tempSelectedLanguages.forEach(t=>{if(!1===this.isTranslated(t))return e=!1,!1}),e}},watch:{},mounted(){this.getAvailableLanguages(),this.getConfiguredLanguages()}},y=g,h=(a("d612"),a("2877")),k=Object(h["a"])(y,c,o,!1,null,null,null),p=k.exports,f=a("1f3d"),b=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("span",{class:e.badgeClass},[e._v(e._s(e.title))])},v=[],m={name:"CkyBadge",props:{type:{type:String,default:"success"},title:{type:String,default:""}},computed:{badgeClass(){return{"cky-badge":!0,"cky-badge-info":"info"===this.type,"cky-badge-error":"error"===this.type,"cky-badge-success":"success"===this.type,"cky-badge-warning":"warning"===this.type}}}},_=m,w=Object(h["a"])(_,b,v,!1,null,null,null),L=w.exports,C=a("c4aa"),$=a("9e47"),S=a("2f62"),x={name:"Languages",components:{CkyLanguageSelector:p,CkyIcon:f["a"],CkyBadge:L,CkyLoader:$["a"]},data(){return{tempSelectedLanguages:[],languages:{},isLanguageModalVisible:!1,currentTab:"layout",loading:!0,defaultContent:i}},methods:{loadBanner:async function(){try{await C["a"].getActiveBanner()}catch(e){console.error(e)}},showIcon(e){return!!e.icon},openLanguageModal(){this.$refs.ckyLanguageSelector.open()},loadEditPage:function(e){const t=this.$router.getRouteByName("edit");this.$router.push({name:t.name,query:{cky_lang:e.code}})},deleteLanguage:async function(e){if(e.code!==this.defaultLanguage&&confirm(this.$i18n.__("Are you sure you want to delete this language?","cookie-law-info"))){let t=e.code;if(t){let e=await u["a"].deleteLanguage(t);e?this.$root.$emit("triggerNotification",{type:"success",message:this.$i18n.__("Successfully deleted the language","cookie-law-info")}):this.$root.$emit("triggerNotification",{type:"error",message:this.$i18n.__("Failed","cookie-law-info")})}}},setDefault:async function(e){await this.$store.dispatch("languages/setDefault",e.code),await this.$store.dispatch("languages/setCurrent",e.code),await this.$store.dispatch("languages/saveDefault")}},computed:{...Object(S["d"])("languages",["default","selected","available"]),currentTabComponent:function(){return"tab-"+this.currentTab.toLowerCase()},availableLanguages:function(){return this.available},selectedLanguages:function(){return u["a"].getLanguageDetails(this.available,this.selected)},defaultLanguage:function(){return this.default},banner(){return this.$store.state.banners.current}},async created(){this.loading=!0,await this.loadBanner(),this.loading=!1}},T=x,D=(a("0769"),Object(h["a"])(T,s,n,!1,null,null,null));t["default"]=D.exports},c2c9:function(e,t,a){"use strict";var s=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.hide,expression:"hide"}],staticClass:"cky-dropdown",class:{open:e.visible}},[a("button",{staticClass:"cky-button-icon cky-dropdown-anchor",attrs:{disabled:e.disabled},domProps:{innerHTML:e._s(e.text)},on:{click:function(t){return e.toggle()}}}),a("div",{staticClass:"cky-dropdown-content",on:{click:function(t){return e.hide()}}},[e._t("default")],2)])},n=[],i={name:"CkyDropdown",props:{text:{type:String,default:""},disabled:{type:Boolean,default:!1},sticky:{type:Boolean,default:!1},active:{type:Boolean,default:!1}},data(){return{visible:!1}},methods:{toggle(){this.visible=!this.visible,this.$emit("ckyToggleDropDown")},hide(){this.sticky||(this.visible=!1)}},mounted(){this.visible=this.active}},c=i,o=(a("ac1d"),a("2877")),l=Object(o["a"])(c,s,n,!1,null,null,null);t["a"]=l.exports},d612:function(e,t,a){"use strict";a("52a8")},d645:function(e,t,a){e.exports=a.p+"img/action-alert.svg"},e2e6:function(e,t,a){}}]);admin/dist/js/chunk-a7a40d04.js000064400000111305150514563140012010 0ustar00(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-a7a40d04"],{"04ed":function(e,t,n){e.exports=n.p+"img/connect-success.svg"},"07e6":function(e,t,n){e.exports=n.p+"img/info.svg"},"0f55":function(e,t,n){"use strict";n("7b5f")},1771:function(e,t,n){var a={"./action-alert.svg":"d645","./arrow-bold.svg":"6ee3","./arrow-left.svg":"857e","./close.svg":"bf37","./connect-success.svg":"04ed","./dashboard/banner-status.svg":"947c","./dashboard/language.svg":"39fa","./dashboard/pro.svg":"5819","./dashboard/regulation.svg":"91db","./dashboard/scan-history.svg":"6aed","./error.svg":"2ee5","./external.svg":"ef87","./help.svg":"6a22","./info.svg":"07e6","./layouts/banner-bottom.svg":"be13","./layouts/banner-top.svg":"6f43","./layouts/box-bottom-left.svg":"8b48","./layouts/box-bottom-right.svg":"2f94","./layouts/box-top-left.svg":"2cc0","./layouts/box-top-right.svg":"73cc","./layouts/classic-bottom.svg":"89bc","./layouts/classic-top.svg":"bca3","./layouts/popup-center.svg":"4c1d","./loader.svg":"6e70","./logo.png":"cf05","./logo.svg":"9b19","./search.svg":"51f2","./success-circle.svg":"eb98","./success.svg":"2764","./tick.svg":"4ab9","./tooltip.svg":"e56e","./warning.svg":"afb7"};function i(e){var t=s(e);return n(t)}function s(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}i.keys=function(){return Object.keys(a)},i.resolve=s,e.exports=i,i.id="1771"},"1c7b":function(e,t,n){"use strict";n("d30a")},2764:function(e,t,n){e.exports=n.p+"img/success.svg"},"2cc0":function(e,t,n){e.exports=n.p+"img/box-top-left.svg"},"2e61":function(e,t,n){},"2ee5":function(e,t,n){e.exports=n.p+"img/error.svg"},"2f94":function(e,t,n){e.exports=n.p+"img/box-bottom-right.svg"},3636:function(e,t,n){"use strict";n.r(t);var a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.isLoaded?n("div",{staticClass:"\n\t\tcky-section cky-section-consent-banner\n\t\tcky-zero--padding cky-zero--margin\n\t"},[n("div",{staticClass:"cky-section-header"}),n("div",{staticClass:"cky-section-content"},[n("div",{staticClass:"cky-nav-tab cky-vertical-tab cky-nav-tab-banner-settings",attrs:{role:"navigation"}},[n("div",{staticClass:"cky-nav-tabs-container"},[n("ul",{staticClass:"cky-vertical-tabs"},e._l(e.tabs,(function(t){return n("li",{key:t.id,class:["cky-nav-tab-item",{active:e.currentTab===t.id}]},[n("button",{staticClass:"cky-nav-tab-button",on:{click:function(n){e.currentTab=t.id}}},[e.showIcon(t)?n("cky-icon",{staticClass:"cky-nav-tab-button-icon",attrs:{icon:t.icon}}):e._e(),n("span",{staticClass:"cky-nav-tab-item-title"},[e._v(" "+e._s(t.title)+" ")])],1)])})),0)]),n("div",{staticClass:"cky-nav-tab-content-container"},[n("div",{staticClass:"cky-nav-tab-content"},[n("div",{staticClass:"cky-nav-tab-section"},[n("div",{staticClass:"cky-row"},[n("div",{staticClass:"cky-col-8"},[n("div",{staticClass:"cky-align-center"},[n("cky-banner-selector"),n("div",{staticClass:"cky-banner-preview-toggler cky-center"},[n("label",{staticClass:"cky-toggle",attrs:{for:"cky-banner-preview"}},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.preview,expression:"preview"}],attrs:{type:"checkbox",id:"cky-banner-preview",disabled:e.noticeDisabled},domProps:{checked:Array.isArray(e.preview)?e._i(e.preview,null)>-1:e.preview},on:{change:function(t){var n=e.preview,a=t.target,i=!!a.checked;if(Array.isArray(n)){var s=null,r=e._i(n,s);a.checked?r<0&&(e.preview=n.concat([s])):r>-1&&(e.preview=n.slice(0,r).concat(n.slice(r+1)))}else e.preview=i}}}),n("span",{staticClass:"cky-toggle-text"},[e._v(e._s(e.$i18n.__("Banner Preview","cookie-law-info")))]),e.noticeDisabled?n("cky-popper",{attrs:{content:e.$i18n.__("The CCPA banner has been disabled. You can enable it from ‘General’, if needed.","cookie-law-info")}},[n("span",{staticClass:"cky-toggle-slider cky-disabled",attrs:{"aria-hidden":"true"}})]):n("span",{staticClass:"cky-toggle-slider",attrs:{"aria-hidden":"true"}})],1)])],1)]),n("div",{staticClass:"cky-col-4 cky-align-center cky-justify-end"},[n("cky-button",{ref:"ckyButtonSaveBanner",staticClass:"cky-button cky-button-green",staticStyle:{"margin-left":"15px"},attrs:{disabled:e.publishDisabled},nativeOn:{click:function(t){return e.saveConfig.apply(null,arguments)}}},[e._v(" "+e._s(e.$i18n.__("Publish Changes","cookie-law-info"))+" ")])],1)]),e.banner.id?n("div",{staticClass:"cky-nav-tab-section-content"},[n(e.currentTabComponent,{tag:"component"})],1):e._e()])])])])])]):n("div",{staticClass:"cky-loader-view",staticStyle:{"min-height":"400px"}},[n("p",{staticClass:"cky-loading-text"},[n("cky-loader"),e._v(" "+e._s(e.$i18n.__("Loading...","cookie-law-info"))+" ")],1)])},i=[],s=n("a2b6"),r=n("c4aa"),o=n("8259"),c=n("bde3"),l=n("9e47"),d=n("1f3d"),p=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.show?n("div",{staticClass:"cky-banner-preview",attrs:{id:"cky-banner-preview-container"}}):e._e()},u=[],g={name:"CkyBannerPreview",props:{},components:{},data(){return{show:!0}}},y=g,h=n("2877"),b=Object(h["a"])(y,p,u,!1,null,null,null),f=b.exports,v=n("c2c9"),k=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"cky-banner-selector"},[n("label",{staticClass:"cky-label"},[e._v(e._s(e.$i18n.__("Consent Template","cookie-law-info")))]),n("cky-dropdown",{ref:"languageSelector",staticClass:"cky-dropdown-banners",attrs:{text:e.banner.name}},[n("ul",[e._l(e.banners,(function(t){return n("li",{key:t.id,staticClass:"cky-drop-down-item"},[n("a",{attrs:{value:t.id,href:"#",target:"_self"},on:{click:function(n){return n.preventDefault(),e.changeBanner(t.id)}}},[e._v(" "+e._s(t.name)+" ")])])})),n("li",{staticClass:"cky-drop-down-item"},[n("cky-popper",{attrs:{content:e.$i18n.__("Please upgrade to the Pro or Ultimate plan to show GDPR or CCPA banner to your site visitors based on their geolocation.","cookie-law-info"),position:"right"}},[n("a",{staticClass:"disabled",attrs:{href:"#",target:"_self",disabled:!0}},[e._v(" "+e._s(e.$i18n.__("GDPR & CCPA","cookie-law-info"))+" ")])])],1)],2)])],1)},m=[],_={name:"CkyBannerSelector",components:{CkyDropdown:v["a"]},data(){return{laws:["gdpr","ccpa","gdpr&ccpa"]}},methods:{async changeBanner(e){r["a"].toggleBanner(e)}},computed:{banner(){return this.$store.state.banners.current},banners(){return this.$store.state.banners.items||{}}}},w=_,C=(n("1c7b"),Object(h["a"])(w,k,m,!1,null,null,null)),x=C.exports,$=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.loading?n("div",{staticClass:"cky-loader-view"},[n("p",{staticClass:"cky-loading-text"},[n("cky-loader"),e._v(" "+e._s(e.$i18n.__("Fetching data","cookie-law-info"))+" ")],1)]):n("div",[n("div",{staticClass:"cky-app-box"},[n("cky-banner-region-selector",{attrs:{law:e.appliedLaw}})],1),"ccpa"===e.appliedLaw?n("div",{staticClass:"cky-row"},[n("div",{staticClass:"cky-col-12"},[n("div",{staticClass:"cky-app-box"},[n("div",{staticClass:"cky-row cky-align-center"},[n("label",{staticClass:"cky-col-3 cky-col-label"},[e._v(" "+e._s(e.$i18n.__("Show CCPA Banner","cookie-law-info"))+" ")]),n("div",{staticClass:"cky-col-9"},[n("label",{staticClass:"cky-toggle",attrs:{for:"cky-toggle-notice"}},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.banner.properties.config.notice.status,expression:"banner.properties.config.notice.status"}],attrs:{type:"checkbox",id:"cky-toggle-notice"},domProps:{checked:Array.isArray(e.banner.properties.config.notice.status)?e._i(e.banner.properties.config.notice.status,null)>-1:e.banner.properties.config.notice.status},on:{change:function(t){var n=e.banner.properties.config.notice.status,a=t.target,i=!!a.checked;if(Array.isArray(n)){var s=null,r=e._i(n,s);a.checked?r<0&&e.$set(e.banner.properties.config.notice,"status",n.concat([s])):r>-1&&e.$set(e.banner.properties.config.notice,"status",n.slice(0,r).concat(n.slice(r+1)))}else e.$set(e.banner.properties.config.notice,"status",i)}}}),n("span",{staticClass:"cky-toggle-slider",attrs:{"aria-hidden":"true"}})])])])])])]):e._e(),n("div",{staticClass:"cky-row"},[n("div",{staticClass:"cky-col-12"},[n("cky-accordion",{staticClass:"cky-app-accordion-no-border cky-app-accordion-advanced"},[n("cky-accordion-item",{staticClass:"cky-app-accordion-item"},[n("template",{slot:"cky-accordion-trigger"},[n("label",{staticClass:"cky-label cky-app-accordion-title",on:{click:e.toggleAdvanced}},[e.toggleSettings?[e._v(e._s(e.$i18n.__("Hide advanced settings","cookie-law-info")))]:[e._v(e._s(e.$i18n.__("Show advanced settings","cookie-law-info")))]],2)]),n("template",{slot:"cky-accordion-content"},[n("div",{staticClass:"cky-app-box"},[n("div",{staticClass:"cky-form-group cky-row cky-align-center"},[n("label",{staticClass:"cky-col-4 cky-form-heading",staticStyle:{"margin-bottom":"0px"},attrs:{for:"cky-show-categories-on-first-layer"}},[e._v(e._s(e.$i18n.__("Consent expiration (days)","cookie-law-info")))]),n("div",{staticClass:"cky-col-4"},[n("cky-banner-expiry")],1)])]),n("div",{staticClass:"cky-app-box"},[n("div",{staticClass:"cky-form-group cky-row"},[n("label",{staticClass:"cky-col-4 cky-form-heading",staticStyle:{"margin-bottom":"0px"}},[e._v(e._s(e.$i18n.__("Reload page on consent action","cookie-law-info")))]),n("div",{staticClass:"cky-col-2"},[n("label",{staticClass:"cky-toggle",attrs:{for:"cky-reload-on-accept"}},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.banner.properties.behaviours.reloadBannerOnAccept.status,expression:"\n\t\t\t\t\t\t\t\t\t\t\t\tbanner.properties.behaviours.reloadBannerOnAccept\n\t\t\t\t\t\t\t\t\t\t\t\t\t.status\n\t\t\t\t\t\t\t\t\t\t\t"}],attrs:{type:"checkbox",id:"cky-reload-on-accept"},domProps:{checked:Array.isArray(e.banner.properties.behaviours.reloadBannerOnAccept.status)?e._i(e.banner.properties.behaviours.reloadBannerOnAccept.status,null)>-1:e.banner.properties.behaviours.reloadBannerOnAccept.status},on:{change:function(t){var n=e.banner.properties.behaviours.reloadBannerOnAccept.status,a=t.target,i=!!a.checked;if(Array.isArray(n)){var s=null,r=e._i(n,s);a.checked?r<0&&e.$set(e.banner.properties.behaviours.reloadBannerOnAccept,"status",n.concat([s])):r>-1&&e.$set(e.banner.properties.behaviours.reloadBannerOnAccept,"status",n.slice(0,r).concat(n.slice(r+1)))}else e.$set(e.banner.properties.behaviours.reloadBannerOnAccept,"status",i)}}}),n("span",{staticClass:"cky-toggle-slider",attrs:{"aria-hidden":"true"}})])])])]),"gdpr"===e.appliedLaw?n("cky-accordion",{staticClass:"cky-app-box",attrs:{name:"prior-consent",type:"boxed"}},[n("cky-accordion-item",[n("template",{slot:"cky-accordion-trigger"},[n("label",{staticClass:"cky-app-accordion-title"},[e._v(e._s(e.$i18n.__("Load cookies prior to consent","cookie-law-info")))])]),n("template",{slot:"cky-accordion-content"},[n("cky-notice",{attrs:{type:"warning"}},[n("p",[e._v(" "+e._s(e.$i18n.__("Choosing any of these categories(cookies) to load prior to receiving user consent will make your website non-compliant with GDPR.","cookie-law-info"))+" ")])]),n("div",{staticClass:"cky-banner-tab-cookies"},[e._l(e.cookieGroups,(function(t){return["necessary"!==t.slug?n("div",{key:t.id,staticClass:"cky-form-check cky-align-center"},[n("input",{directives:[{name:"model",rawName:"v-model",value:t.prior_consent,expression:"item.prior_consent"}],staticClass:"cky-cky-form-check-input",attrs:{type:"checkbox",id:"cky-checkbox-prior-consent-"+t.slug},domProps:{checked:Array.isArray(t.prior_consent)?e._i(t.prior_consent,null)>-1:t.prior_consent},on:{change:function(n){var a=t.prior_consent,i=n.target,s=!!i.checked;if(Array.isArray(a)){var r=null,o=e._i(a,r);i.checked?o<0&&e.$set(t,"prior_consent",a.concat([r])):o>-1&&e.$set(t,"prior_consent",a.slice(0,o).concat(a.slice(o+1)))}else e.$set(t,"prior_consent",s)}}}),n("label",{staticClass:"cky-form-check-label",class:["cky-form-check-label"],attrs:{for:"cky-checkbox-prior-consent-"+t.slug}},[e._v(" "+e._s(t.name[e.language])+" ")])]):e._e()]}))],2)],1)],2)],1):e._e(),"gdpr"===e.appliedLaw?n("cky-accordion",{staticClass:"cky-app-box",attrs:{name:"hide-cookies",type:"boxed"}},[n("cky-accordion-item",[n("template",{slot:"cky-accordion-trigger"},[n("label",{staticClass:"cky-app-accordion-title"},[e._v(e._s(e.$i18n.__("Hide categories from banner","cookie-law-info")))])]),n("template",{slot:"cky-accordion-content"},[n("cky-notice",{attrs:{type:"warning"}},[n("p",[e._v(" "+e._s(e.$i18n.__("Hiding any of the categories (with cookies) will make your website non-compliant with GDPR.","cookie-law-info"))+" ")])]),n("div",{staticClass:"cky-banner-tab-cookies"},[e._l(e.cookieGroups,(function(t){return["necessary"!==t.slug?n("div",{key:t.id,staticClass:"cky-form-check cky-align-center"},[n("input",{directives:[{name:"model",rawName:"v-model",value:t.visibility,expression:"item.visibility"}],staticClass:"cky-cky-form-check-input",attrs:{type:"checkbox",id:"cky-checkbox-visibility-"+t.slug,"true-value":!1,"false-value":!0},domProps:{checked:Array.isArray(t.visibility)?e._i(t.visibility,null)>-1:e._q(t.visibility,!1)},on:{change:function(n){var a=t.visibility,i=n.target,s=!i.checked;if(Array.isArray(a)){var r=null,o=e._i(a,r);i.checked?o<0&&e.$set(t,"visibility",a.concat([r])):o>-1&&e.$set(t,"visibility",a.slice(0,o).concat(a.slice(o+1)))}else e.$set(t,"visibility",s)}}}),n("label",{staticClass:"cky-form-check-label",class:["cky-form-check-label"],attrs:{for:"cky-checkbox-visibility-"+t.slug}},[e._v(" "+e._s(t.name[e.language])+" ")])]):e._e()]}))],2)],1)],2)],1):e._e()],1)],2)],1)],1)])])},L=[],S=n("a9f4"),O=n("b02b"),P=n("c068"),A=n("462b"),B=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("fragment",[n("div",{staticClass:"cky-banner-region-selector"},[n("div",{staticClass:"cky-row"},[n("label",{staticClass:"cky-col-12 cky-section-heading"},[e._v(" "+e._s(e.geoTargetHeading)+" ")]),n("div",{staticClass:"cky-col-12"},e._l(e.regions[e.law],(function(t){return n("div",{key:"region-"+t.code,staticClass:"cky-form-check cky-align-center"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.selectedRegion,expression:"selectedRegion"}],staticClass:"cky-cky-form-check-input",attrs:{type:"radio",id:"cky-radio-region-"+t.code},domProps:{value:t.code,checked:e._q(e.selectedRegion,t.code)},on:{click:function(n){n.preventDefault(),"ALL"!==t.code&&e.showUpgradeModal()},change:function(n){e.selectedRegion=t.code}}}),n("label",{staticClass:"cky-form-check-label",attrs:{for:"cky-radio-region-"+t.code}},[e._v(" "+e._s(t.label)+" "),"ALL"!==t.code?n("span",{staticClass:"cky-pro-badge"},[e._v(e._s(e.$i18n.__("Premium","cookie-law-info"))+" ")]):e._e()])])})),0)])]),n("cky-upgrade-modal",{ref:"ckyUpgradeModal",scopedSlots:e._u([{key:"title",fn:function(){return[e._v(" "+e._s(e.$i18n.__("Upgrade to unlock geo-targeting and other advanced features","cookie-law-info"))+" ")]},proxy:!0}])})],1)},E=[],T=n("76e6"),j=n("0bd0"),N={name:"CkyBannerRegionSelector",components:{Fragment:T["a"],CkyUpgradeModal:j["a"]},props:{law:{type:String,default:"gdpr"}},data(){return{regions:{gdpr:[{label:this.$i18n.__("Worldwide","cookie-law-info"),regions:[],code:"ALL"},{label:this.$i18n.__("EU Countries & UK","cookie-law-info"),regions:["EU"],code:"EU"},{label:this.$i18n.__("Select countries","cookie-law-info"),regions:[],code:"OTHER"}],ccpa:[{label:this.$i18n.__("Worldwide","cookie-law-info"),regions:[],code:"ALL"},{label:this.$i18n.__("California","cookie-law-info"),regions:["NA:US:CA"],code:"CA"},{label:this.$i18n.__("United States","cookie-law-info"),regions:["NA:US"],code:"US"}]}}},methods:{showUpgradeModal(){this.$refs.ckyUpgradeModal.show()}},computed:{banner(){return this.$store.state.banners.current},selectedRegion(){return"ALL"},appliedLaw(){return this.banner.properties.settings.applicableLaw},geoTargetHeading(){let e=this.$i18n.__("Geo-target GDPR Banner","cookie-law-info");return"ccpa"===this.appliedLaw&&(e=this.$i18n.__("Geo-target CCPA Banner","cookie-law-info")),e}}},U=N,D=Object(h["a"])(U,B,E,!1,null,null,null),M=D.exports,F=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("cky-input",{class:{"cky-input-error":e.hasErrors},attrs:{type:"number",min:e.min,max:e.limit},on:{input:function(t){return e.checkForErrors(t)}},model:{value:e.banner.properties.settings.consentExpiry.value,callback:function(t){e.$set(e.banner.properties.settings.consentExpiry,"value",t)},expression:"banner.properties.settings.consentExpiry.value"}},[e.hasErrors?n("template",{slot:"cky-input-error"},[n("div",{staticClass:"cky-input-error-container"},e._l(e.errors,(function(t,a){return n("div",{key:a,staticClass:"cky-input-inline-error"},[!0===t?[e._v(e._s(e.errorMessages[a]))]:e._e()],2)})),0)]):e._e()],2)},H=[],R={name:"CkyBannerExpiry",components:{},props:{limit:{type:Number,default:730},min:{type:Number,default:0}},data(){return{errors:{},errorMessages:{maxLimit:this.$i18n.__("Please enter a value between 0 and 730","cookie-law-info")}}},methods:{checkForErrors(e){this.errors={},(""===e||e>this.limit||e0||!Object.prototype.hasOwnProperty.call(this.info,"plan")},appliedLaw(){return this.banner.properties.settings.applicableLaw},language(){return this.$store.state.languages.default&&this.$store.state.languages.default||"en"},...Object(z["d"])("settings",["info"])},watch:{}},W=q,J=(n("7d9a"),Object(h["a"])(W,$,L,!1,null,null,null)),Y=J.exports,K=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.loading?n("div",{staticClass:"cky-loader-view"},[n("p",{staticClass:"cky-loading-text"},[n("cky-loader"),e._v(" "+e._s(e.$i18n.__("Fetching data","cookie-law-info"))+" ")],1)]):n("div",{staticClass:"cky-section-layout"},[n("div",{staticClass:"cky-form-group cky-row cky-align-top"},[n("div",{staticClass:"cky-col-12"},[n("cky-banner-type",{attrs:{banner:e.banner}})],1)])])},Q=[],X=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("fragment",[n("div",{staticClass:"cky-banner-layout-container"},e._l(e.layouts,(function(t){return n("cky-banner-layout-item",{key:""+t.type,attrs:{properties:t,disabled:"popup"===t.type},on:{upgrade:e.showUpgradeModal}})})),1),n("cky-upgrade-modal",{ref:"ckyUpgradeModal",scopedSlots:e._u([{key:"title",fn:function(){return[e._v(" "+e._s(e.$i18n.__("Upgrade to unlock popup layout and other advanced features","cookie-law-info"))+" ")]},proxy:!0}])})],1)},Z=[],ee=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"cky-banner-layout-group"},[n("h6",{staticClass:"cky-banner-layout-title"},[e._v(e._s(e.properties.title)+" "),e.disabled?n("span",{staticClass:"cky-pro-badge"},[e._v(e._s(e.$i18n.__("Premium","cookie-law-info")))]):e._e()]),n("div",{staticClass:"cky-banner-layout-items"},e._l(e.properties.positions,(function(t){return n("div",{key:e.properties.type+"-"+t,staticClass:"cky-radio-group",on:{click:function(t){return e.showUpgradeModal()}}},[n("cky-radio",{attrs:{id:"cky-consent-type-"+e.properties.type+"-"+t,value:e.properties.type+"-"+t,icon:"layouts/"+e.properties.type+"-"+t+".svg",disabled:e.disabled},model:{value:e.selectedLayout,callback:function(t){e.selectedLayout=t},expression:"selectedLayout"}})],1)})),0)])},te=[],ne=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("label",{class:e.radioClass,attrs:{for:e.id,id:e.id+"-radio-label"}},[a("input",{attrs:{id:e.id,type:"radio",name:e.name,disabled:e.disabled},domProps:{checked:e.isChecked,value:e.value},on:{change:function(t){return e.$emit("change",t.target.value)}}}),e.icon?a("span",{staticClass:"cky-radio-icon",attrs:{id:e.id+"-radio-icon"}},[a("img",{attrs:{src:n("1771")("./"+e.icon)}})]):e._e(),e.label?a("span",{staticClass:"cky-radio-label",attrs:{id:e.id+"-radio-label"}},[e._v(" "+e._s(e.label)+" ")]):e._e()])},ae=[],ie={name:"CkyRadio",components:{},model:{prop:"modelValue",event:"change"},props:{id:{type:String,required:!0},name:{type:String,default:""},value:{type:[String,Boolean],required:!0},label:{type:String,default:""},icon:{type:String,default:""},modelValue:{default:""},disabled:{type:Boolean,default:!1}},data(){return{selected:!1}},computed:{radioClass(){return{"cky-radio":!0,"cky-image-radio":""!==this.icon,checked:this.isChecked}},isChecked(){return this.modelValue==this.value}}},se=ie,re=Object(h["a"])(se,ne,ae,!1,null,null,null),oe=re.exports,ce={name:"CkyBannerLayoutItem",mixins:[P["a"]],components:{CkyRadio:oe},props:{properties:{type:Object,default(){return{}}},disabled:{type:Boolean,default:!0}},data(){return{upgradeModalVisible:!1,publicPath:"/wp-content/plugins/cookie-law-info/admin/dist/"}},methods:{showUpgradeModal(){this.disabled&&this.$emit("upgrade")}},computed:{banner(){return this.$store.state.banners.current},selectedLayout:{get(){const e=this.banner.properties.settings.type,t=this.banner.properties.settings.position;return`${e}-${t}`},set(e){const[t,n,a]=e.split("-"),i=a?`${n}-${a}`:n;this.banner.properties.settings.type=t,this.banner.properties.settings.position=i}}},mounted(){}},le=ce,de=Object(h["a"])(le,ee,te,!1,null,null,null),pe=de.exports,ue={name:"CkyBannerType",components:{CkyUpgradeModal:j["a"],Fragment:T["a"],CkyBannerLayoutItem:pe},props:{title:{type:String,default:""},type:{type:String,default:"normal"}},methods:{showUpgradeModal(){this.$refs.ckyUpgradeModal.show()}},computed:{banner(){return this.$store.state.banners.current},layouts:function(){let e=r["a"].getLayouts();const t=this.banner.properties.settings.applicableLaw;return"ccpa"===t&&(e=e.filter((function(e){return"banner"===e.type||"box"===e.type}))),e},...Object(z["d"])("settings",["info"]),loading(){return!Object.prototype.hasOwnProperty.call(this.info,"plan")}}},ge=ue,ye=(n("4cda"),Object(h["a"])(ge,X,Z,!1,null,null,null)),he=ye.exports,be={name:"TabLayout",components:{CkyLoader:l["a"],CkyBannerType:he},data(){return{bannerPreview:!1,showPositions:!0,customLogoType:"image"}},methods:{toggleDetailSaveButton(){const e=this.banner.properties.config;let t=!0;this.showCategoriesOnFirstLayer&&e.categoryPreview.status&&(t=!1),e.preferenceCenter.elements.buttons.elements.save.status=t}},computed:{banner(){return this.$store.state.banners.current},loading(){return this.$store.state.banners.current.id&&!this.$store.state.banners.current.id>0||!Object.prototype.hasOwnProperty.call(this.info,"plan")},showCategoriesOnFirstLayer(){return"classic"===this.banner.properties.settings.type},...Object(z["d"])("settings",["info"])},watch:{"banner.properties.settings":{handler(){this.toggleDetailSaveButton()},deep:!0}}},fe=be,ve=(n("ee3f"),Object(h["a"])(fe,K,Q,!1,null,null,null)),ke=ve.exports,me=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.loading?n("div",{staticClass:"cky-loader-view"},[n("p",{staticClass:"cky-loading-text"},[n("cky-loader"),e._v(" "+e._s(e.$i18n.__("Fetching data","cookie-law-info"))+" ")],1)]):n("div",[e.customHtmlMode?n("cky-notice",{attrs:{type:"warning"}},[n("p",[n("span",[e._v(e._s(e.$i18n.__("You're in Custom HTML mode. ")))]),e._v(" "+e._s(e.$i18n.__("The edits that you have made in the HTML Editor will override any changes made to the settings below","cookie-law-info"))+" ")])]):e._e(),n("div",{staticClass:"cky-banner-theme-radio"},[n("label",{staticClass:"cky-col-label",staticStyle:{"font-weight":"500"}},[e._v(e._s(e.$i18n.__("Colour scheme","cookie-law-info")))]),e._l(e.colourSchemes,(function(t){return n("div",{key:t.id,staticClass:"cky-form-check cky-form-check-inline"},[n("cky-radio",{attrs:{id:t.id,value:t.id,label:t.label},model:{value:e.banner.properties.settings.theme,callback:function(t){e.$set(e.banner.properties.settings,"theme",t)},expression:"banner.properties.settings.theme"}})],1)}))],2),n("tab-content-accordion",{attrs:{language:e.language}})],1)},_e=[],we=n("c702"),Ce={name:"TabContent",components:{CkyRadio:oe,CkyLoader:l["a"],TabContentAccordion:we["a"],CkyNotice:A["a"]},data(){return{customHtmlMode:!1}},methods:{saveConfig:async function(){await r["a"].save(),this.$root.$emit("triggerNotification",{type:"success",message:"Successfully saved"})}},computed:{banner(){return this.$store.state.banners.current},loading(){return this.$store.state.banners.current.id&&!this.$store.state.banners.current.id>0},presets(){return this.$store.state.banners.presets},contentSections:function(){let e={};if(this.loading)return e;const t=this.banner.properties.settings.applicableLaw;return e=r["a"].getContentSections(t),e},colourSchemes:function(){let e=[];return this.loading||(e=[{id:"light",label:"Light"},{id:"dark",label:"Dark"},{id:"custom",label:"Custom"}]),e},language(){return this.$store.state.languages.default&&this.$store.state.languages.default||"en"}},watch:{"banner.properties.settings":{async handler(){r["a"].resetPreset(),await r["a"].showPreview()},deep:!0}}},xe=Ce,$e=(n("be4a"),Object(h["a"])(xe,me,_e,!1,null,null,null)),Le=$e.exports,Se=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.loading?n("div",{staticClass:"cky-loader-view"},[n("p",{staticClass:"cky-loading-text"},[n("cky-loader"),e._v(" "+e._s(e.$i18n.__("Fetching data","cookie-law-info"))+" ")],1)]):n("div",[n("div",{staticClass:"cky-section-css"},[n("div",{staticClass:"cky-form-group cky-row"},[n("label",{staticClass:"cky-col-12"},[e._v(" "+e._s(e.$i18n.__("Custom CSS for additional styling","cookie-law-info"))+" ")]),n("div",{staticClass:"cky-col-12"},[n("textarea",{directives:[{name:"model",rawName:"v-model",value:e.banner.properties.meta.customCSS,expression:"banner.properties.meta.customCSS"}],staticClass:"cky-form-control",attrs:{rows:"12",disabled:!e.info.plan.features.popup_layout,id:"cky-textarea-custom-css"},domProps:{value:e.banner.properties.meta.customCSS},on:{input:function(t){t.target.composing||e.$set(e.banner.properties.meta,"customCSS",t.target.value)}}}),n("cky-upgrade-modal",{staticClass:"cky-upgrade-modal-css",attrs:{visible:!0},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(" "+e._s(e.$i18n.__("Upgrade to unlock custom css and other advanced features","cookie-law-info"))+" ")]},proxy:!0}])})],1)])])])},Oe=[],Pe={name:"TabCss",components:{CkyLoader:l["a"],CkyUpgradeModal:j["a"]},data(){return{}},methods:{},computed:{banner(){return this.$store.state.banners.current},loading(){return this.$store.state.banners.current.id&&!this.$store.state.banners.current.id>0},...Object(z["d"])("settings",["info"])}},Ae=Pe,Be=(n("e094"),Object(h["a"])(Ae,Se,Oe,!1,null,null,null)),Ee=Be.exports,Te={name:"Customize",mixins:[c["a"]],components:{CkyLoader:l["a"],CkyIcon:d["a"],CkyBannerPreview:f,CkyDropdown:v["a"],CkyBannerSelector:x,TabGeneral:Y,TabLayout:ke,TabContent:Le,TabCss:Ee},data(){return{tabs:[{id:"general",icon:"general",title:"General"},{id:"layout",icon:"layout",title:"Layout"},{id:"content",icon:"note",title:"Content & Colors"},{id:"css",icon:"css",title:"Custom CSS"}],currentTab:"general",previewLoader:!1,loading:!0}},methods:{async loadCookies(){try{await this.$store.dispatch("cookies/reInit")}catch(e){this.showErrors(this.$i18n.__("Failed to load cookies please try again later!","cookie-law-info"))}},showIcon(e){return!!e.icon},loadBanner:async function(){try{await r["a"].getActiveBanner(),await r["a"].loadPresets()}catch(e){console.log(e),this.showErrors(this.$i18n.__("An unexpected error occurred please try reloading the page or logging in again.","cookie-law-info"))}},saveConfig:async function(){this.$refs.ckyButtonSaveBanner.startLoading();try{await r["a"].bulkUpdate(),await this.$store.dispatch("cookies/bulkUpdate"),this.$root.$emit("triggerNotification",{type:"success",message:this.$i18n.__("Update was successfull!","cookie-law-info")})}catch(e){console.log(e),this.showErrors(this.$i18n.__("Problem occurred while saving your settings. Please try again later!","cookie-law-info"))}this.$refs.ckyButtonSaveBanner.stopLoading()},updateContentPreview:Object(s["b"])((async function(){o["a"].startLoading(),await r["a"].updateContentPreview(),o["a"].stopLoading()}),500),updateSettingsPreview:Object(s["c"])((async function(){await r["a"].showPreview()}),500),showErrors(e){this.$root.$emit("triggerNotification",{type:"error",message:e})}},computed:{currentTabComponent:function(){return"tab-"+this.currentTab.toLowerCase()},tab(){return this.tabs.find(e=>e.id==this.currentTab)},banner(){return this.$store.state.banners.current},cookieGroups(){return this.$store.state.cookies.items},preview:{get(){return this.$store.state.banners.preview},set(e){this.$store.state.banners.preview=e}},connected(){let e=this.getOption("account");return e.connected},banners(){return this.$store.state.banners.items||{}},appliedLaw(){return this.banner.properties.settings.applicableLaw},noticeDisabled(){return!1===this.banner.properties.config.notice.status},publishDisabled(){return r["a"].hasErrors()},isLoaded(){return!this.loading&&!!this.banner.id}},watch:{"banner.properties.config":{async handler(){this.loading||(await r["a"].resetTheme(),o["a"].startLoading(),await this.updateSettingsPreview(),o["a"].stopLoading())},deep:!0},"banner.properties.settings":{async handler(){this.loading||(o["a"].startLoading(),await this.updateSettingsPreview(),o["a"].stopLoading())},deep:!0},"banner.contents":{async handler(){this.loading||this.updateContentPreview()},deep:!0},"banner.properties.config.categoryPreview.status":{async handler(){o["a"].startLoading(),await this.updateSettingsPreview(),o["a"].stopLoading()},deep:!0},"banner.properties.config.notice.status":{handler(e){!1===e&&(this.preview=!1)},deep:!0},cookieGroups:{async handler(){o["a"].startLoading(),await this.updateSettingsPreview(),o["a"].stopLoading()},deep:!0},preview:{async handler(){this.preview?(o["a"].startLoading(),await this.updateSettingsPreview(),o["a"].stopLoading()):r["a"].hidePreview()}}},async mounted(){this.loading=!0,await this.loadBanner(),this.loading=!1,await r["a"].loadTemplate(),await this.loadCookies()},beforeDestroy(){r["a"].closePreview(!0),r["a"].reset()}},je=Te,Ne=(n("0f55"),Object(h["a"])(je,a,i,!1,null,null,null));t["default"]=Ne.exports},"39fa":function(e,t,n){e.exports=n.p+"img/language.svg"},"4ab9":function(e,t,n){e.exports=n.p+"img/tick.svg"},"4c1d":function(e,t,n){e.exports=n.p+"img/popup-center.svg"},"4cda":function(e,t,n){"use strict";n("2e61")},"51f2":function(e,t,n){e.exports=n.p+"img/search.svg"},5724:function(e,t,n){},5819:function(e,t,n){e.exports=n.p+"img/pro.svg"},"6a22":function(e,t,n){e.exports=n.p+"img/help.svg"},"6aed":function(e,t,n){e.exports=n.p+"img/scan-history.svg"},"6e70":function(e,t,n){e.exports=n.p+"img/loader.svg"},"6ee3":function(e,t,n){e.exports=n.p+"img/arrow-bold.svg"},"6f43":function(e,t,n){e.exports=n.p+"img/banner-top.svg"},"73cc":function(e,t,n){e.exports=n.p+"img/box-top-right.svg"},"76e6":function(e,t,n){"use strict";n.d(t,"a",(function(){return C}));var a,i=Symbol(),s=Symbol(),r=Symbol(),o=Symbol(),c=function(e){return"frag"in e};function l(e,t){s in e||(e[s]=t,Object.defineProperty(e,"parentNode",{get:function(){return this[s]||this.parentElement}}))}function d(e){r in e||(e[r]=!0,Object.defineProperty(e,"nextSibling",{get:function(){var e=this.parentNode.childNodes,t=e.indexOf(this);return t>-1&&e[t+1]||null}}))}function p(e,t){while(e.parentNode!==t){var n=e,a=n.parentNode;a&&(e=a)}return e}function u(e){if(!a){var t=Object.getOwnPropertyDescriptor(Node.prototype,"childNodes");a=t.get}var n=a.apply(e),i=Array.from(n).map((function(t){return p(t,e)}));return i.filter((function(e,t){return e!==i[t-1]}))}function g(e){o in e||(e[o]=!0,Object.defineProperties(e,{childNodes:{get:function(){return this.frag||u(this)}},firstChild:{get:function(){return this.childNodes[0]||null}}}),e.hasChildNodes=function(){return this.childNodes.length>0})}function y(){var e;(e=this.frag[0]).before.apply(e,arguments)}function h(){var e=this.frag,t=e.splice(0,e.length);t.forEach((function(e){e.remove()}))}var b=function e(t){var n;return(n=Array.prototype).concat.apply(n,t.map((function(t){return c(t)?e(t.frag):t})))};function f(e,t){var n=e[i];t.before(n),l(n,e),e.frag.unshift(n)}function v(e){if(c(this)){var t=this.frag.indexOf(e);if(t>-1){var n=this.frag.splice(t,1),a=n[0];0===this.frag.length&&f(this,a),e.remove()}}else{var i=u(this),s=i.indexOf(e);s>-1&&e.remove()}return e}function k(e,t){var n=this,a=e.frag||[e];if(c(this)){var i=this.frag;if(t){var s=i.indexOf(t);s>-1&&(i.splice.apply(i,[s,0].concat(a)),t.before.apply(t,a))}else{var r=i[i.length-1];i.push.apply(i,a),r.after.apply(r,a)}_(this)}else t?this.childNodes.includes(t)&&t.before.apply(t,a):this.append.apply(this,a);a.forEach((function(e){l(e,n)}));var o=a[a.length-1];return d(o),e}function m(e){var t=this.frag,n=t[t.length-1];return n.after(e),l(e,this),_(this),t.push(e),e}function _(e){var t=e[i];e.frag[0]===t&&(e.frag.shift(),t.remove())}var w={inserted:function(e){var t=e.parentNode,n=e.nextSibling,a=e.previousSibling,s=Array.from(e.childNodes),r=document.createComment("");0===s.length&&s.push(r),e.frag=s,e[i]=r;var o=document.createDocumentFragment();o.append.apply(o,b(s)),e.replaceWith(o),s.forEach((function(t){l(t,e),d(t)})),g(e),Object.assign(e,{remove:h,appendChild:m,insertBefore:k,removeChild:v,before:y}),Object.defineProperty(e,"innerHTML",{set:function(e){var t=this,n=document.createElement("div");n.innerHTML=e;var a=this.frag.length;Array.from(n.childNodes).forEach((function(e){t.appendChild(e)})),n.append.apply(n,this.frag.splice(0,a))},get:function(){return""}}),t&&(Object.assign(t,{removeChild:v,insertBefore:k}),l(e,t),g(t)),n&&d(e),a&&d(a)},unbind:function(e){e.remove()}},C={name:"Fragment",directives:{frag:w},render:function(e){return e("div",{directives:[{name:"frag"}]},this.$slots["default"])}}},"7b5f":function(e,t,n){},"7d9a":function(e,t,n){"use strict";n("8164")},8164:function(e,t,n){},"857e":function(e,t,n){e.exports=n.p+"img/arrow-left.svg"},"89bc":function(e,t,n){e.exports=n.p+"img/classic-bottom.svg"},"8b48":function(e,t,n){e.exports=n.p+"img/box-bottom-left.svg"},"91db":function(e,t,n){e.exports=n.p+"img/regulation.svg"},"947c":function(e,t,n){e.exports=n.p+"img/banner-status.svg"},a10c:function(e,t,n){},ac1d:function(e,t,n){"use strict";n("e2e6")},afb7:function(e,t,n){e.exports=n.p+"img/warning.svg"},bca3:function(e,t,n){e.exports=n.p+"img/classic-top.svg"},bde3:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var a=n("87ea");const i={data(){return{checkFocusTimer:0,hidden:"hidden",visibilityChange:"visibilitychange",hasFocus:!1}},components:{},computed:{account(){return Object(a["e"])("account")}},mounted(){this.initialize()},beforeDestroy(){document.removeEventListener(this.visibilityChange,this.handleVisibilityChange)},methods:{initialize(){!0!==this.account.connected&&("undefined"!==typeof document.hidden?(this.hidden="hidden",this.visibilityChange="visibilitychange"):"undefined"!==typeof document.msHidden?(this.hidden="msHidden",this.visibilityChange="msvisibilitychange"):"undefined"!==typeof document.webkitHidden&&(this.hidden="webkitHidden",this.visibilityChange="webkitvisibilitychange"),document.addEventListener(this.visibilityChange,this.handleVisibilityChange,!1))},handleVisibilityChange(){document[this.hidden]||this.checkForScreenChange()},async checkForScreenChange(){await Object(a["i"])(),this.account.connected&&(document.removeEventListener(this.visibilityChange,this.handleVisibilityChange),this.$router.redirectToDashboard(this.$route.name))}}}},be13:function(e,t,n){e.exports=n.p+"img/banner-bottom.svg"},be4a:function(e,t,n){"use strict";n("5724")},bf37:function(e,t,n){e.exports=n.p+"img/close.svg"},c026:function(e,t,n){},c2c9:function(e,t,n){"use strict";var a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.hide,expression:"hide"}],staticClass:"cky-dropdown",class:{open:e.visible}},[n("button",{staticClass:"cky-button-icon cky-dropdown-anchor",attrs:{disabled:e.disabled},domProps:{innerHTML:e._s(e.text)},on:{click:function(t){return e.toggle()}}}),n("div",{staticClass:"cky-dropdown-content",on:{click:function(t){return e.hide()}}},[e._t("default")],2)])},i=[],s={name:"CkyDropdown",props:{text:{type:String,default:""},disabled:{type:Boolean,default:!1},sticky:{type:Boolean,default:!1},active:{type:Boolean,default:!1}},data(){return{visible:!1}},methods:{toggle(){this.visible=!this.visible,this.$emit("ckyToggleDropDown")},hide(){this.sticky||(this.visible=!1)}},mounted(){this.visible=this.active}},r=s,o=(n("ac1d"),n("2877")),c=Object(o["a"])(r,a,i,!1,null,null,null);t["a"]=c.exports},cf05:function(e,t,n){e.exports=n.p+"img/logo.png"},d30a:function(e,t,n){},d645:function(e,t,n){e.exports=n.p+"img/action-alert.svg"},e094:function(e,t,n){"use strict";n("a10c")},e2e6:function(e,t,n){},e56e:function(e,t,n){e.exports=n.p+"img/tooltip.svg"},eb98:function(e,t,n){e.exports=n.p+"img/success-circle.svg"},ee3f:function(e,t,n){"use strict";n("c026")},ef87:function(e,t,n){e.exports=n.p+"img/external.svg"}}]);admin/dist/js/chunk-7c350c38.js000064400000062072150514563140011751 0ustar00(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-7c350c38"],{"0235":function(t,e,n){},"2a43":function(t,e,n){"use strict";n("2ea8")},"2ea8":function(t,e,n){},"39fa":function(t,e,n){t.exports=n.p+"img/language.svg"},"5c78":function(t,e,n){"use strict";n("c05d")},"6aed":function(t,e,n){t.exports=n.p+"img/scan-history.svg"},"6c87":function(t,e,n){"use strict";n("b3ba")},"727a":function(t,e,n){"use strict";n("de21")},"7dcd":function(t,e,n){},"8e01":function(t,e,n){},"919d":function(t,e,n){"use strict";var s=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.showConnectSuccess?n("div",{staticClass:"cky-connect-success",attrs:{id:"cky-connect-success"}},[t.syncing?n("div",{staticClass:"cky-connect-loader"},[n("cky-spinner"),n("h4",[t._v(" "+t._s(t.$i18n.__("Please wait while we connect your site to app.cookieyes.com","cookie-law-info"))+" ")])],1):n("div",{staticClass:"cky-connect-success-container"},[n("div",{staticClass:"cky-connect-success-icon"}),n("div",{staticClass:"cky-connect-success-message"},[t._t("message",(function(){return[n("h2",[t._v(" "+t._s(t.$i18n.__("Your website is connected to app.cookieyes.com","cookie-law-info"))+" ")]),n("p",[t._v(" "+t._s(t.$i18n.__("You can now continue to manage all your existing settings and access all free CookieYes features from your web app account","cookie-law-info"))+" ")])]}))],2),n("div",{staticClass:"cky-connect-success-actions"},[t._t("action",(function(){return[n("button",{staticClass:"cky-button cky-button-medium cky-external-link",on:{click:function(e){return t.redirectToApp()}}},[t._v(" "+t._s(t.$i18n.__("Go to CookieYes Web App","cookie-law-info"))+" ")])]}))],2)])]):t._e()},i=[],o=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("span",{staticClass:"cky-spinner-loader"})},a=[],c={name:"CkySpinner",components:{}},r=c,l=(n("6c87"),n("2877")),u=Object(l["a"])(r,o,a,!1,null,null,null),d=u.exports,y={name:"CkyConnectSuccess",components:{CkySpinner:d},props:{timeout:{type:Number,default:6e3}},data(){return{showConnectSuccess:!1,syncing:!1}},methods:{showMessage(){this.showConnectSuccess=!0},redirectToApp(){this.$router.redirectToApp(),this.showConnectSuccess=!1,this.$router.redirectToDashboard(this.$route.name)}},created(){this.$root.$on("afterConnection",()=>{this.syncing=!0,this.showMessage()}),this.$root.$on("afterSyncing",async()=>{this.syncing=!1})}},p=y,k=(n("a209"),Object(l["a"])(p,s,i,!1,null,null,null));e["a"]=k.exports},"91db":function(t,e,n){t.exports=n.p+"img/regulation.svg"},"947c":function(t,e,n){t.exports=n.p+"img/banner-status.svg"},9573:function(t,e,n){"use strict";n.r(e);var s=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"cky-section cky-section-dashboard cky-zero--padding cky-zero--margin"},[n("div",{staticClass:"cky-row"},[n("div",{staticClass:"cky-col-12"},[n("notice-migration"),n("cky-connect-success"),n("cky-connect-notice")],1)]),t.loading?t._e():n("div",{staticClass:"cky-section-content"},[n("div",{staticClass:"cky-row"},[n("div",{staticClass:"cky-col-12"},[n("cky-dashboard-overview")],1)]),t.account.connected&&!t.syncing?n("div",{staticClass:"cky-row"},[n("div",{staticClass:"cky-col-7"},[n("div",{staticClass:"cky-row"},[n("div",{staticClass:"cky-col-12"},[n("cky-scan-summary")],1)])]),n("div",{staticClass:"cky-col-5"},[n("cky-consent-chart")],1)]):t._e()])])},i=[],o=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("cky-card",{attrs:{title:t.$i18n.__("Cookie Summary","cookie-law-info"),loading:t.cardLoader},scopedSlots:t._u([{key:"body",fn:function(){return[n("div",{staticClass:"cky-stats-section"},t._l(t.statistics,(function(t){return n("cky-stats-card",{key:t.slug,attrs:{statistics:t}})})),1)]},proxy:!0}])})},a=[],c=n("f9c4"),r=n("9610"),l=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"cky-stats-col"},[t.statistics.icon?n("div",{staticClass:"cky-stats-icon"},[n("cky-icon",{attrs:{icon:t.statistics.icon,width:t.iconWidth,color:t.iconColor}})],1):t._e(),n("div",{staticClass:"cky-stats-title"},[t._v(t._s(t.statistics.title))]),n("div",{staticClass:"cky-stats-count"},[t._v(t._s(t.statistics.count))])])},u=[],d=n("1f3d"),y={components:{CkyIcon:d["a"]},name:"CkyStatsCard",props:{statistics:Object,iconWidth:{type:String,default:"30"},iconColor:{type:String,default:"#000000"}},computed:{getLoadingClass(){return{"cky-loading":this.loading}}}},p=y,k=(n("c5a6"),n("2877")),g=Object(k["a"])(p,l,u,!1,null,null,null),f=g.exports,_={components:{CkyCard:r["a"],CkyStatsCard:f},data(){return{loading:!0,stats:[{slug:"cookies",icon:!1,title:this.$i18n.__("Total Cookies","cookie-law-info"),count:0},{slug:"categories",icon:!1,title:this.$i18n.__("Total Categories","cookie-law-info"),count:0},{slug:"pages",icon:!1,title:this.$i18n.__("Pages Scanned","cookie-law-info"),count:0}]}},methods:{async getstats(){this.loading=!0;try{const t=await c["a"].get({path:"dashboard/summary"});t&&this.stats.forEach((function(e){const n=t[e.slug]?t[e.slug]:0;e.count=n})),this.loading=!1}catch(t){console.error(t)}}},computed:{statistics(){return this.stats},cardLoader(){return!this.$store.state.settings.info||this.loading}},created(){this.getstats()}},h=_,w=Object(k["a"])(h,o,a,!1,null,null,null),b=w.exports,v=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.showNotice?n("cky-notice",{ref:"ReviewNotice",staticClass:"cky-notice-migration",attrs:{type:"info"}},[n("div",{staticClass:"cky-row cky-align-center"},[n("div",{staticClass:"cky-col-12"},[n("div",{staticClass:"cky-align-center"},[n("p",{staticStyle:{"margin-bottom":"5px","margin-right":"15px"}},[n("b",[t._v(t._s(t.message)+" ")])]),n("a",{staticClass:"cky-button cky-button-outline",attrs:{href:t.legacyURL}},[t._v(" "+t._s(t.$i18n.__("Switch back to old UI","cookie-law-info"))+" ")])])])])]):t._e()},C=[],m=n("462b"),$={name:"NoticeMigration",components:{CkyNotice:m["a"]},data(){return{showNotice:!!window.ckyAppNotices.migration_notice,legacyURL:window.ckyGlobals.legacyURL}},computed:{message(){return this.showNotice&&window.ckyAppNotices.migration_notice.message||""}},methods:{async removeNotice(){await c["a"].post({path:"/settings/notices/migration_notice"}),this.$refs.ReviewNotice.isShown=!1},async switchToLegacy(){await c["a"].post({path:"/settings/legacy"})}},mounted(){}},S=$,x=(n("fdf1"),Object(k["a"])(S,v,C,!1,null,null,null)),L=x.exports,A=n("919d"),E=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.account.connected&&!t.syncing?n("cky-notice",{staticClass:"cky-connect-notice",attrs:{type:"default"}},[n("div",{staticClass:"cky-row"},[n("div",{staticClass:"cky-col-12"},[n("h4",{staticClass:"cky-admin-notice-header"},[n("cky-icon",{attrs:{icon:"successCircle",color:"#00aa63",width:"16px"}}),t._v(" "+t._s(t.$i18n.__("Your website is connected to CookieYes","cookie-law-info"))+" ")],1),n("div",{staticClass:"cky-connect-notice-message"},[n("p",[t._v(" "+t._s(t.$i18n.__("You can access all the plugin settings (Cookie Banner, Cookie Manager, Languages & Policy Generators) on the web app and unlock new features like Cookie Scan and Consent Log.","cookie-law-info"))+" ")])]),n("button",{staticClass:"cky-button cky-external-link",on:{click:function(e){return e.preventDefault(),t.$router.redirectToApp()}}},[t._v(" "+t._s(t.$i18n.__("Go to Web App","cookie-law-info"))+" ")])])])]):t.showNotice&&!t.tablesMissing?n("cky-notice",{staticClass:"cky-connect-notice cky-connect-notice-disabled",attrs:{type:"default",isDismissable:!0},on:{onDismiss:function(e){return t.removeNotice()}}},[n("div",{staticClass:"cky-row cky-align-center"},[n("div",{staticClass:"cky-col-8"},[n("h3",{staticClass:"cky-admin-notice-header"},[n("cky-icon",{attrs:{icon:"connect",width:"44px"}}),t._v(" "+t._s(t.$i18n.__("Connect your website to CookieYes","cookie-law-info"))+" ")],1),n("p",{staticStyle:{"margin-top":"10px"},domProps:{innerHTML:t._s(t.contents.connect)}}),n("div",{staticClass:"cky-connect-features"},[n("p",{staticClass:"cky-align-center"},[n("span",[t._v("✓")]),t._v(t._s(t.$i18n.__("Cookie Scanner - Discover cookies on your site and auto-block them prior to user consent (Legally required)","cookie-law-info"))+" ")]),n("p",[n("span",[t._v("✓")]),t._v(t._s(t.$i18n.__("Consent Log - Record user consents to demonstrate proof of compliance (Legally required)","cookie-law-info"))+" ")]),n("p",{staticStyle:{"margin-top":"15px"}},[n("i",{domProps:{innerHTML:t._s(t.contents.pageviews)}})])])]),n("div",{staticClass:"cky-col-4 cky-justify-end"},[n("div",{staticClass:"cky-connect-button-container"},[n("cky-button",{ref:"ckyButtonConnectNew",staticClass:"cky-button-connect cky-button-medium",nativeOn:{click:function(e){return t.connectToApp()}}},[t._v(" "+t._s(t.$i18n.__("New? Create a Free Account","cookie-law-info"))+" "),n("template",{slot:"loader"},[t._v(t._s(t.$i18n.__("Connecting...","cookie-law-info")))])],2),n("cky-button",{ref:"ckyButtonConnectExisting",staticClass:"cky-button-connect cky-button-medium cky-button-outline",nativeOn:{click:function(e){return t.connectToApp(!0)}}},[t._v(" "+t._s(t.$i18n.__("Connect Your Existing Account","cookie-law-info"))+" "),n("template",{slot:"loader"},[t._v(t._s(t.$i18n.__("Connecting...","cookie-law-info")))])],2)],1)])])]):t._e()},B=[],N=n("c068"),O=n("2f62"),T={name:"CkyConnectNotice",mixins:[N["a"]],components:{CkyNotice:m["a"],CkyIcon:d["a"]},data(){return{syncing:!1,contents:{connect:this.$i18n.sprintf(this.$i18n.__("Create a free account to connect with %sCookieYes web app%s. After connecting, you can manage all your settings from the web app and access advanced features:","cookie-law-info"),"",""),pageviews:this.$i18n.sprintf(this.$i18n.__('You can continue using the plugin without connecting to the web app if you wish so. Please note that the standalone version of the plugin doesn\'t provide some advanced features. However, it offers unlimited pageviews in contrast to that of the web app-connected version.',"cookie-law-info"),"https://www.cookieyes.com/documentation/pageview-pricing/")}}},methods:{async removeNotice(){await c["a"].post({path:"/settings/notices/connect_notice",data:{}})}},computed:{...Object(O["d"])("settings",["info"]),account(){return this.getOption("account")},showNotice(){return!!window.ckyAppNotices.connect_notice},tablesMissing(){return!!this.info.tables_missing}},mounted(){this.account.connected||(this.$root.$on("beforeConnection",()=>{this.syncing=!0}),this.$root.$on("afterConnection",()=>{}),this.$root.$on("afterSyncing",()=>{this.syncing=!1}))}},U=T,R=(n("2a43"),Object(k["a"])(U,E,B,!1,null,null,null)),P=R.exports,I=function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.pluginStatus&&!t.tablesMissing?s("div",{class:["cky-dashboard-overview",{connected:!!t.account.connected}]},[s("div",{staticClass:"cky-row"},[s("div",{staticClass:"cky-col-12"},[s("div",{staticClass:"cky-card-header"},[s("h5",{staticClass:"cky-card-title"},[t._v(" "+t._s(t.$i18n.__("Overview","cookie-law-info"))+" ")])])]),s("div",{staticClass:"cky-col-6"},[s("cky-card",{attrs:{loading:t.cardLoader},scopedSlots:t._u([{key:"body",fn:function(){return[s("div",{staticClass:"cky-card-row"},[t.hasBannerErrors?s("cky-notice",{attrs:{type:t.noticeType,showIcon:!0}},[s("p",{domProps:{innerHTML:t._s(t.getBannerError())}}),s("p",{domProps:{innerHTML:t._s(t.disconnectMessage)}})]):t._e()],1),s("div",{staticClass:"cky-card-row"},[s("div",{staticClass:"cky-info-widget-container"},[s("div",{staticClass:"cky-info-widget"},[s("div",{staticClass:"cky-info-widget-icon"},[s("img",{attrs:{src:n("947c"),alt:"layout"}})]),s("div",{staticClass:"cky-info-widget-content"},[s("span",{staticClass:"cky-info-widget-title"},[t._v(t._s(t.$i18n.__("Banner status","cookie-law-info")))]),t.bannerStatus?s("span",{staticClass:"cky-info-widget-text",staticStyle:{color:"#00aa62"}},[t._v(" "+t._s(t.$i18n.__("Active","cookie-law-info"))+" ")]):s("span",{staticClass:"cky-info-widget-text cky-status-error"},[t._v(" "+t._s(t.$i18n.__("Disabled","cookie-law-info"))+" ")])])]),s("div",{staticClass:"cky-info-widget"},[s("div",{staticClass:"cky-info-widget-icon"},[s("img",{attrs:{src:n("91db"),alt:"layout"}})]),s("div",{staticClass:"cky-info-widget-content"},[s("span",{staticClass:"cky-info-widget-title"},[t._v(t._s(t.$i18n.__("Regulation","cookie-law-info")))]),s("span",{staticClass:"cky-info-widget-text",staticStyle:{"text-transform":"uppercase"}},[t._v(" "+t._s(t.applicableLaws)+" ")])])])])]),s("div",{staticClass:"cky-card-row"},[s("div",{staticClass:"cky-info-widget-container"},[s("div",{staticClass:"cky-info-widget"},[s("div",{staticClass:"cky-info-widget-icon"},[s("img",{attrs:{src:n("6aed"),alt:"layout"}})]),s("div",{staticClass:"cky-info-widget-content"},[s("span",{staticClass:"cky-info-widget-title"},[t._v(t._s(t.$i18n.__("Last cookie scan","cookie-law-info")))]),s("span",{staticClass:"cky-info-widget-text"},[t.scans.date&&t.account.connected?s("span",{staticStyle:{"font-size":"14px"}},[t._v(" "+t._s(t.scans.date.date||t.$i18n.__("Not available","cookie-law-info"))+" "),s("span",{staticStyle:{"font-weight":"400"}},[t._v(t._s(t.scans.date.time||""))])]):s("span",[t._v(t._s(t.$i18n.__("Not available","cookie-law-info")))])])])]),s("div",{staticClass:"cky-info-widget"},[s("div",{staticClass:"cky-info-widget-icon"},[s("img",{attrs:{src:n("39fa"),alt:"layout"}})]),s("div",{staticClass:"cky-info-widget-content"},[s("span",{staticClass:"cky-info-widget-title"},[t._v(t._s(t.$i18n.__("Language","cookie-law-info")))]),s("span",{staticClass:"cky-info-widget-text"},[t._v(" "+t._s(t.defaultLanguage.name)+" ")])])])])]),t.account.connected?s("div",{staticClass:"cky-card-row"},[s("div",{staticClass:"cky-card-row-actions"},[s("a",{staticClass:"\n\t\t\t\t\t\t\t\t\tcky-button\n\t\t\t\t\t\t\t\t\tcky-button-outline\n\t\t\t\t\t\t\t\t\tcky-external-link\n\t\t\t\t\t\t\t\t\tcky-button-medium\n\t\t\t\t\t\t\t\t",on:{click:function(e){return t.$router.redirectToApp("customize")}}},[t._v(t._s(t.$i18n.__("Customize Banner","cookie-law-info"))+" ")]),s("a",{staticClass:"\n\t\t\t\t\t\t\t\t\tcky-link cky-actions-link cky-button-icon cky-external-link\n\t\t\t\t\t\t\t\t",attrs:{href:t.getSiteURL(),target:"_blank"}},[t._v(t._s(t.$i18n.__("Preview Banner","cookie-law-info"))+" ")])])]):s("div",{staticClass:"cky-card-row"},[s("div",{staticClass:"cky-card-row-actions"},[s("router-link",{attrs:{to:{name:"customize"},custom:""},scopedSlots:t._u([{key:"default",fn:function(e){var n=e.navigate;return[s("a",{staticClass:"cky-button cky-button-outline cky-button-medium",on:{click:n}},[t._v(t._s(t.$i18n.__("Customize Banner","cookie-law-info"))+" ")])]}}],null,!1,1347445872)}),s("a",{staticClass:"\n\t\t\t\t\t\t\t\t\tcky-link cky-actions-link cky-button-icon cky-external-link\n\t\t\t\t\t\t\t\t",attrs:{href:t.getSiteURL(),target:"_blank"}},[t._v(t._s(t.$i18n.__("Preview Banner","cookie-law-info"))+" ")])],1)])]},proxy:!0}],null,!1,3211068528)})],1),s("div",{staticClass:"cky-col-6"},[t.connected?s("upgrade-widget"):s("tutorial-video")],1)])]):t._e()},j=[],M=n("c4aa"),G=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.account.connected?n("cky-card",{staticClass:"cky-upgrade-widget",scopedSlots:t._u([{key:"body",fn:function(){return[n("div",{staticClass:"cky-row cky-align-center"},[n("div",{staticClass:"cky-col-10"},[n("div",{staticClass:"cky-row"},[n("div",{staticClass:"cky-col-12"},[n("h3",{staticClass:"cky-admin-notice-header"},[t._v(" "+t._s(t.content.title)+" ")]),n("div",{staticClass:"cky-row"},[n("div",{staticClass:"cky-col-12"},[n("p",{staticClass:"cky-py-2"},[t._v(" "+t._s(t.content.description)+" ")])])])])]),n("div",{staticClass:"cky-row"},[n("div",{staticClass:"cky-col-8"},[n("div",{staticClass:"cky-premium-features-list"},[n("ul",t._l(t.content.features,(function(e,s){return n("li",{key:s},[t._v(" "+t._s(e)+" ")])})),0)])])]),n("div",{staticClass:"cky-row"},[n("div",{staticClass:"cky-col-12"},[n("div",{staticClass:"cky-align-center cky-py-2"},[n("a",{staticClass:"\n\t\t\t\t\t\t\t\t\tcky-button cky-button-medium cky-button-icon cky-center\n\t\t\t\t\t\t\t\t",attrs:{href:t.getURL(),target:"_blank"}},["ultimate"!==t.plan.toLowerCase()?n("cky-icon",{attrs:{icon:"crown",width:"20"}}):t._e(),t._v(" "+t._s(t.content.cta)+" ")],1)])])])])])]},proxy:!0}],null,!1,2990724177)}):t._e()},Y=[],D=n("3840");const W={default:{title:D["a"].__("Keep pace with compliance as your business grows","cookie-law-info"),description:D["a"].__("Access advanced features and future-proof your business against legal risks. Get 2 months free on annual plans!","cookie-law-info"),features:[D["a"].__("Get unlimited pageviews/month","cookie-law-info"),D["a"].__("Schedule monthly cookie scan","cookie-law-info"),D["a"].__("Geo-target cookie banner","cookie-law-info"),D["a"].__("Remove CookieYes branding","cookie-law-info")],cta:D["a"].__("Upgrade Now","cookie-law-info")},custom:{title:D["a"].__("Automate your compliance at scale with our enterprise plan","cookie-law-info"),description:D["a"].__("Your growing website needs scalable compliance. Get access to custom features tailored to meet your unique requirements.","cookie-law-info"),features:[D["a"].__("Get unlimited pageviews/month","cookie-law-info"),D["a"].__("Unlimited pages scanned/month","cookie-law-info"),D["a"].__("Advanced CSS customization","cookie-law-info"),D["a"].__("Dedicated customer support","cookie-law-info")],cta:D["a"].__("Get Custom Plan","cookie-law-info")}};var z={name:"UpgradeWidget",mixins:[N["a"]],components:{CkyCard:r["a"],CkyIcon:d["a"]},props:{},data(){return{}},methods:{getURL(){let t=`${window.ckyGlobals.webApp.url}/settings?upgrade_id=${this.account.website_id}&openUpgrade=true&upgrade_source=cypluginupgrade`;return"ultimate"===this.plan.toLowerCase()&&(t="https://www.cookieyes.com/support/?query=enterprise&ref=cypluginupgrade#enterprise"),t}},computed:{account(){return this.getOption("account")},plan(){return!!this.getInfo("plan")&&this.getInfo("plan").name||"free"},content(){return"ultimate"===this.plan.toLowerCase()?W.custom:W.default}},async created(){}},q=z,V=(n("727a"),Object(k["a"])(q,G,Y,!1,null,null,null)),H=V.exports,F=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("cky-card",{staticClass:"cky-tutorial-widget",scopedSlots:t._u([{key:"body",fn:function(){return[n("iframe",{staticClass:"youtube-player",staticStyle:{width:"100%",height:"100%"},attrs:{src:"https://www.youtube.com/embed/g20giM91rs4?rel=0",allowfullscreen:"true",sandbox:"allow-scripts allow-same-origin allow-popups allow-presentation"}})]},proxy:!0}])})},J=[],K={name:"TutorialVideo",components:{CkyCard:r["a"]},props:{},methods:{},computed:{}},Q=K,X=Object(k["a"])(Q,F,J,!1,null,null,null),Z=X.exports,tt={name:"CkyDashboardOverview",components:{CkyCard:r["a"],UpgradeWidget:H,TutorialVideo:Z,CkyNotice:m["a"]},props:{},data(){return{loading:!0,noticeType:"error",subscriptionURL:window.ckyGlobals.webApp.url+"/settings/subscriptions",disconnectMessage:this.$i18n.sprintf(this.$i18n.__('Alternatively, you can disconnect your site from the web app and continue using the standalone version of the plugin. Please note that by doing so, you will lose your banner customization and access to advanced features.',"cookie-law-info"),"admin.php?page=cookie-law-info#/settings")}},methods:{loadBanner:async function(){this.loading=!0,await M["a"].getActiveBanner(),this.loading=!1},getSiteURL(){const t=new URL(window.ckyGlobals.site.url);return t.searchParams.append("cky_preview",!0),t.toString()},getBannerError(){return!(!this.info.website||!this.connected)&&("suspended"!==this.info.website.status||this.info.website.payment_status?"suspended"===this.info.website.status&&this.info.website.is_trial&&!this.info.website.is_trial_with_card?this.bannerErrors.trailEnds:!!this.info.pageviews.exceeded&&("banner_disabled"===this.info.status?this.bannerErrors.pageviewsExceeded:(this.noticeType="warning",this.bannerErrors.pageviewsWarning)):this.bannerErrors.suspended)}},computed:{...Object(O["c"])("languages",{defaultLanguage:"getDefault"}),...Object(O["d"])("settings",["info"]),cardLoader(){return!this.info||this.loading},banner(){return this.$store.state.banners.current},consentLogs(){return this.getInfo("consent_logs")&&this.getInfo("consent_logs").status||!1},account(){return this.getOption("account")},connected(){return!!this.account.connected},scans(){return this.getInfo("scans")&&this.getInfo("scans")||{}},applicableLaws(){if(this.account.connected){const t=this.getInfo("banners");return t.laws&&t.laws||"gdpr"}return this.banner.properties.settings.applicableLaw},pluginStatus(){return this.$store.state.settings.status},tablesMissing(){return!!this.info.tables_missing},bannerStatus(){return!this.info.website||!this.connected||!(this.info.pageviews&&this.info.pageviews.exceeded&&"banner_disabled"==this.info.status||"suspended"===this.info.website.status&&this.info.website.is_trial&&!this.info.website.is_trial_with_card)},hasBannerErrors(){return!!this.getBannerError()},gracePeriod(){return this.info&&this.info.website&&this.info.website.grace_period_ends_at?this.info.website.grace_period_ends_at:0},bannerErrors(){return{trailEnds:this.$i18n.sprintf(this.$i18n.__('Your free trial has expired. This site is now suspended and will be permanently deleted from your web app account if you do not upgrade to a paid plan by %s. Visit Subscriptions to choose a plan and activate your banner.',"cookie-law-info"),this.gracePeriod,this.subscriptionURL),suspended:this.$i18n.sprintf(this.$i18n.__('This site is currently suspended due to payment failure and will be permanently deleted from your web app account if you do not complete the payment by %s. Visit Subscriptions to choose a plan and activate your banner.',"cookie-law-info"),this.gracePeriod,this.subscriptionURL),pageviewsWarning:this.$i18n.sprintf(this.$i18n.__('Pageview limit exceeded: Upgrade to a higher plan to increase your pageview limit and continue displaying the banner on this site. Visit Subscriptions to upgrade plan.',"cookie-law-info"),this.subscriptionURL),pageviewsExceeded:this.$i18n.sprintf(this.$i18n.__('Pageview limit exceeded: Upgrade to a higher plan to increase your pageview limit and continue displaying the banner on this site. Visit Subscriptions to upgrade plan and activate your banner.',"cookie-law-info"),this.subscriptionURL)}}},created(){this.loadBanner()}},et=tt,nt=(n("acb2"),Object(k["a"])(et,I,j,!1,null,null,null)),st=nt.exports,it={name:"Dashboard",mixins:[N["a"]],components:{NoticeMigration:L,CkyScanSummary:b,CkyConnectSuccess:A["a"],CkyConnectNotice:P,CkyDashboardOverview:st,CkyConsentChart:()=>n.e("chunk-55c96061").then(n.bind(null,"03b4"))},props:{},data(){return{scanStatus:!0,loading:!0,syncing:!1}},methods:{loadBanner:async function(){await M["a"].getActiveBanner()},connectScan(){this.connectToApp(),this.$root.$on("afterConnection",()=>{this.$refs.ckyButtonConnectScan.startLoading()})},connectLog(){this.connectToApp(),this.$root.$on("afterConnection",()=>{this.$refs.ckyButtonConnectLog.startLoading()})},getSiteURL(){const t=new URL(window.ckyGlobals.site.url);return t.searchParams.append("cky_preview",!0),t.toString()}},computed:{banner(){return this.$store.state.banners.current},consentLogs(){return this.getInfo("consent_logs")&&this.getInfo("consent_logs").status||!1},account(){return this.getOption("account")},bannerStatus(){return this.getInfo("banners")&&this.getInfo("banners").status||!1},scans(){return this.getInfo("scans")&&this.getInfo("scans")||{}},...Object(O["c"])("languages",{defaultLanguage:"getDefault"})},async created(){this.loading=!0;try{await this.loadBanner(),this.loading=!1,this.$root.$on("beforeConnection",()=>{this.syncing=!0}),this.$root.$on("afterSyncing",()=>{this.syncing=!1})}catch(t){console.error(t)}}},ot=it,at=(n("5c78"),Object(k["a"])(ot,s,i,!1,null,"72c85508",null));e["default"]=at.exports},9610:function(t,e,n){"use strict";var s=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.pluginStatus?n("div",{staticClass:"cky-card",class:t.getLoadingClass},[t.title?n("div",{staticClass:"cky-card-header"},[n("h5",{staticClass:"cky-card-title"},[t._v(" "+t._s(t.title)+" ")]),t.hasActions?n("div",{staticClass:"cky-card-actions"},[t._t("headerAction")],2):t._e()]):t._e(),t.hasBodySlot?n("div",{class:t.getBodyClass},[t.loading?n("cky-card-loader"):t._t("body")],2):t._e(),t._t("outside"),t.hasFooterSlot?n("div",{staticClass:"cky-card-footer"},[t._t("footer")],2):t._e()],2):t._e()},i=[],o=n("17aa"),a={components:{CkyCardLoader:o["a"]},name:"CkyCard",props:{title:{type:String,required:!1},bodyClass:{type:String,default:""},loading:{type:Boolean,default:!1},fullWidth:{type:Boolean,default:!1}},computed:{hasActions(){return!!this.$slots.headerAction},hasBodySlot(){return!!this.$slots.body},hasFooterSlot(){return!!this.$slots.footer},getLoadingClass(){return{"cky-loading":this.loading}},getBodyClass(){return{"cky-card-body":!0,"cky-card-body--full":this.fullWidth,[this.bodyClass]:this.bodyClass}},pluginStatus(){return this.$store.state.settings.status}}},c=a,r=n("2877"),l=Object(r["a"])(c,s,i,!1,null,null,null);e["a"]=l.exports},a209:function(t,e,n){"use strict";n("d6c6")},acb2:function(t,e,n){"use strict";n("7dcd")},b3ba:function(t,e,n){},c05d:function(t,e,n){},c5a6:function(t,e,n){"use strict";n("0235")},d6c6:function(t,e,n){},de21:function(t,e,n){},fdf1:function(t,e,n){"use strict";n("8e01")}}]);admin/dist/js/chunk-2177d27f.js000064400000012243150514563140011750 0ustar00(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2177d27f"],{"12bd":function(t,c,n){"use strict";n("edd5")},"2acf":function(t,c,n){"use strict";n("5a84")},"5a84":function(t,c,n){},ea26:function(t,c,n){"use strict";n.r(c);var e=function(){var t=this,c=t.$createElement,n=t._self._c||c;return n("div",{staticClass:"cky-section cky-zero--padding cky-zero--margin"},[t._m(0),n("div",{staticClass:"cky-section-content"},[n("div",{staticClass:"cky-app-box"},[t.account.connected||t.disconnecting?n("div",{staticClass:"cky-row"},[n("div",{staticClass:"cky-col-12"},[n("div",{staticClass:"\n\t\t\t\t\t\t\tcky-row cky-form-group cky-align-center cky-connection-status\n\t\t\t\t\t\t"},[n("div",{staticClass:"cky-col-12"},[n("div",{staticClass:"cky-align-center"},[n("cky-icon",{attrs:{icon:"successCircle",color:"#00aa63",width:"16px"}}),n("h4",{staticStyle:{"margin-left":"5px"}},[t._v(" "+t._s(t.$i18n.__("Your website is connected to CookieYes","cookie-law-info"))+" ")])],1)]),n("div",{staticClass:"cky-col-12"},[n("p",[t._v(" "+t._s(t.$i18n.__("You can access all the plugin settings (Cookie Banner, Cookie Manager, Languages & Policy Generators) on the web app and unlock new features like Cookie Scan and Consent Log.","cookie-law-info"))+" ")])])]),n("div",{staticClass:"cky-account-info"},[n("label",[t._v(" "+t._s(t.$i18n.__("Email","cookie-law-info"))+": "),n("span",[t._v(t._s(t.account.email))])]),n("label",[t._v(" "+t._s(t.$i18n.__("Site Key","cookie-law-info"))+": "),n("span",[t._v(t._s(t.account.website_key))])]),n("label",[t._v(" "+t._s(t.$i18n.__("Plan","cookie-law-info"))+": "),n("span",[t._v(t._s(t.plan.name))])])]),n("div",{staticClass:"cky-align-center cky-account-actions"},[n("button",{staticClass:"cky-button cky-external-link",on:{click:function(c){return c.preventDefault(),t.$router.redirectToApp()}}},[t._v(" "+t._s(t.$i18n.__("Go to Web App","cookie-law-info"))+" ")]),n("button",{staticClass:"cky-button cky-button-outline-danger",staticStyle:{"margin-left":"15px"},on:{click:t.openModal}},[t._v(" "+t._s(t.$i18n.__("Disconnect","cookie-law-info"))+" ")])]),t._m(1)])]):t._e()]),n("cky-modal",{ref:"ckyDisconnectModal",staticClass:"cky-app-modal-disconnect cky-text-center",attrs:{dismissable:!1,type:"info"},scopedSlots:t._u([{key:"body",fn:function(){return[n("h3",[t._v(" "+t._s(t.$i18n.__("Disconnect from CookieYes web app?","cookie-law-info"))+" ")]),n("p",[t._v(" "+t._s(t.$i18n.__("When you disconnect, your website will no longer be synced to your CookieYes account. You will be able to manage all your settings within WordPress. You can connect to your CookieYes account anytime later.","cookie-law-info"))+" ")])]},proxy:!0},{key:"footer",fn:function(){return[n("div",{staticClass:"cky-app-modal-actions cky-justify-center"},[n("button",{staticClass:"cky-button cky-button-outline-secondary",on:{click:t.closeModal}},[t._v(" "+t._s(t.$i18n.__("Cancel","cookie-law-info"))+" ")]),n("cky-button",{ref:"ckyButtonDisconnect",staticClass:"cky-button-danger",nativeOn:{click:function(c){return t.disconnectApp.apply(null,arguments)}}},[t._v(" "+t._s(t.$i18n.__("Disconnect","cookie-law-info"))+" "),n("template",{slot:"loader"},[t._v(t._s(t.$i18n.__("Disconnecting...","cookie-law-info")))])],2)],1)]},proxy:!0}])}),n("cky-disconnect-success")],1)])},s=[function(){var t=this,c=t.$createElement,n=t._self._c||c;return n("div",{staticClass:"cky-section-header cky-align-center cky-justify-between"},[n("div",{staticClass:"cky-section-title"})])},function(){var t=this,c=t.$createElement,n=t._self._c||c;return n("div",{staticClass:"cky-row cky-align-center cky-connection-status"},[n("div",{staticClass:"cky-col-4"},[n("div",{staticClass:"cky-align-center"})]),n("div",{staticClass:"cky-col-3"})])}],o=n("1f3d"),i=n("c068"),a=n("8a80"),l=function(){var t=this,c=t.$createElement,n=t._self._c||c;return t.show?n("div",{staticClass:"cky-connect-success",attrs:{id:"cky-connect-success"}},[n("div",{staticClass:"cky-connect-success-container"},[n("div",{staticClass:"cky-connect-success-icon"}),n("div",{staticClass:"cky-connect-success-message"},[t._t("message",(function(){return[n("h2",[t._v(" "+t._s(t.$i18n.__("Your website is now disconnected from app.cookieyes.com","cookie-law-info"))+" ")])]}))],2)])]):t._e()},r=[],u=n("a2b6"),k={name:"CkyDisConnectSuccess",components:{},props:{timeout:{type:Number,default:4e3}},data(){return{show:!1}},methods:{async showMessage(){this.show=!0,await Object(u["d"])(this.timeout),this.show=!1,this.$router.redirectToDashboard(this.$route.name)}},created(){this.$root.$on("afterDisconnect",()=>{this.showMessage()})}},d=k,y=(n("2acf"),n("2877")),_=Object(y["a"])(d,l,r,!1,null,null,null),f=_.exports,p={name:"CkySettings",mixins:[i["a"]],components:{CkyIcon:o["a"],CkyModal:a["a"],CkyDisconnectSuccess:f},data(){return{disconnecting:!1}},methods:{openModal(){this.$refs.ckyDisconnectModal.show()},closeModal(){this.$refs.ckyDisconnectModal.close()},async disconnectApp(){this.$refs.ckyButtonDisconnect.startLoading(),this.disconnecting=!0,await this.disconnect(),this.closeModal()}},computed:{plan(){return this.getInfo("plan")},account(){return this.getOption("account")}},mounted(){}},v=p,w=(n("12bd"),Object(y["a"])(v,e,s,!1,null,null,null));c["default"]=w.exports},edd5:function(t,c,n){}}]);admin/dist/js/chunk-vendors.js000064400000773267150514563140012371 0ustar00(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-vendors"],{"00d8":function(t,e){(function(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n={rotl:function(t,e){return t<>>32-e},rotr:function(t,e){return t<<32-e|t>>>e},endian:function(t){if(t.constructor==Number)return 16711935&n.rotl(t,8)|4278255360&n.rotl(t,24);for(var e=0;e0;t--)e.push(Math.floor(256*Math.random()));return e},bytesToWords:function(t){for(var e=[],n=0,r=0;n>>5]|=t[n]<<24-r%32;return e},wordsToBytes:function(t){for(var e=[],n=0;n<32*t.length;n+=8)e.push(t[n>>>5]>>>24-n%32&255);return e},bytesToHex:function(t){for(var e=[],n=0;n>>4).toString(16)),e.push((15&t[n]).toString(16));return e.join("")},hexToBytes:function(t){for(var e=[],n=0;n>>6*(3-i)&63)):n.push("=");return n.join("")},base64ToBytes:function(t){t=t.replace(/[^A-Z0-9+\/]/gi,"");for(var n=[],r=0,o=0;r>>6-2*o);return n}};t.exports=n})()},"00fd":function(t,e,n){var r=n("9e69"),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,s=r?r.toStringTag:void 0;function c(t){var e=i.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(c){}var o=a.call(t);return r&&(e?t[s]=n:delete t[s]),o}t.exports=c},"044b":function(t,e){function n(t){return!!t.constructor&&"function"===typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function r(t){return"function"===typeof t.readFloatLE&&"function"===typeof t.slice&&n(t.slice(0,0))} /*! * Determine if an object is a Buffer * * @author Feross Aboukhadijeh * @license MIT */ t.exports=function(t){return null!=t&&(n(t)||r(t)||!!t._isBuffer)}},"0929":function(t,e,n){"use strict";var r=n("b50e"),o=n("e2e9"),i=n("2767");function a(t,e){var n=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(n&&Object(i["c"])(n)){var r=e;do{if(r&&t.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}var s=n("b62b"),c=n("ad9d"),u=n("84c6");function l(t,e,n){return Object(u["a"])(t,Object(u["b"])(e,n))}function f(){return{top:0,right:0,bottom:0,left:0}}function p(t){return Object.assign({},f(),t)}function d(t,e){return e.reduce((function(e,n){return e[n]=t,e}),{})}var h=n("77f9"),v=function(t,e){return t="function"===typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t,p("number"!==typeof t?t:d(t,h["a"]))};function g(t){var e,n=t.state,i=t.name,a=t.options,u=n.elements.arrow,f=n.modifiersData.popperOffsets,p=Object(r["a"])(n.placement),d=Object(c["a"])(p),g=[h["d"],h["g"]].indexOf(p)>=0,b=g?"height":"width";if(u&&f){var m=v(a.padding,n),y=Object(o["a"])(u),x="y"===d?h["i"]:h["d"],_="y"===d?h["b"]:h["g"],w=n.rects.reference[b]+n.rects.reference[d]-f[d]-n.rects.popper[b],C=f[d]-n.rects.reference[d],k=Object(s["a"])(u),O=k?"y"===d?k.clientHeight||0:k.clientWidth||0:0,A=w/2-C/2,j=m[x],S=O-y[b]-m[_],E=O/2-y[b]/2+A,$=l(j,E,S),F=d;n.modifiersData[i]=(e={},e[F]=$,e.centerOffset=$-E,e)}}function b(t){var e=t.state,n=t.options,r=n.element,o=void 0===r?"[data-popper-arrow]":r;null!=o&&("string"!==typeof o||(o=e.elements.popper.querySelector(o),o))&&a(e.elements.popper,o)&&(e.elements.arrow=o)}e["a"]={name:"arrow",enabled:!0,phase:"main",fn:g,effect:b,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]}},"0f88":function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var r=n("2767"),o=n("84c6");function i(t,e){void 0===e&&(e=!1);var n=t.getBoundingClientRect(),i=1,a=1;if(Object(r["b"])(t)&&e){var s=t.offsetHeight,c=t.offsetWidth;c>0&&(i=Object(o["c"])(n.width)/c||1),s>0&&(a=Object(o["c"])(n.height)/s||1)}return{width:n.width/i,height:n.height/a,top:n.top/a,right:n.right/i,bottom:n.bottom/a,left:n.left/i,x:n.left/i,y:n.top/a}}},"126d":function(t,e,n){var r=n("6da8"),o=n("aaec"),i=n("d094");function a(t){return o(t)?i(t):r(t)}t.exports=a},1310:function(t,e){function n(t){return null!=t&&"object"==typeof t}t.exports=n},"1fc0":function(t,e,n){"use strict";function r(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}n.d(e,"a",(function(){return r}))},2767:function(t,e,n){"use strict";n.d(e,"a",(function(){return o})),n.d(e,"b",(function(){return i})),n.d(e,"c",(function(){return a}));var r=n("1fc0");function o(t){var e=Object(r["a"])(t).Element;return t instanceof e||t instanceof Element}function i(t){var e=Object(r["a"])(t).HTMLElement;return t instanceof e||t instanceof HTMLElement}function a(t){if("undefined"===typeof ShadowRoot)return!1;var e=Object(r["a"])(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}},2877:function(t,e,n){"use strict";function r(t,e,n,r,o,i,a,s){var c,u="function"===typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),i&&(u._scopeId="data-v-"+i),a?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},u._ssrRegister=c):o&&(c=s?function(){o.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:o),c)if(u.functional){u._injectStyles=c;var l=u.render;u.render=function(t,e){return c.call(e),l(t,e)}}else{var f=u.beforeCreate;u.beforeCreate=f?[].concat(f,c):[c]}return{exports:t,options:u}}n.d(e,"a",(function(){return r}))},"28bf":function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var r=n("5788"),o=n("ef52"),i=n("2767");function a(t){return"html"===Object(r["a"])(t)?t:t.assignedSlot||t.parentNode||(Object(i["c"])(t)?t.host:null)||Object(o["a"])(t)}},"29f3":function(t,e){var n=Object.prototype,r=n.toString;function o(t){return r.call(t)}t.exports=o},"2b0e":function(t,e,n){"use strict";(function(t){ /*! * Vue.js v2.6.14 * (c) 2014-2021 Evan You * Released under the MIT License. */ var n=Object.freeze({});function r(t){return void 0===t||null===t}function o(t){return void 0!==t&&null!==t}function i(t){return!0===t}function a(t){return!1===t}function s(t){return"string"===typeof t||"number"===typeof t||"symbol"===typeof t||"boolean"===typeof t}function c(t){return null!==t&&"object"===typeof t}var u=Object.prototype.toString;function l(t){return"[object Object]"===u.call(t)}function f(t){return"[object RegExp]"===u.call(t)}function p(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function d(t){return o(t)&&"function"===typeof t.then&&"function"===typeof t.catch}function h(t){return null==t?"":Array.isArray(t)||l(t)&&t.toString===u?JSON.stringify(t,null,2):String(t)}function v(t){var e=parseFloat(t);return isNaN(e)?t:e}function g(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o-1)return t.splice(n,1)}}var y=Object.prototype.hasOwnProperty;function x(t,e){return y.call(t,e)}function _(t){var e=Object.create(null);return function(n){var r=e[n];return r||(e[n]=t(n))}}var w=/-(\w)/g,C=_((function(t){return t.replace(w,(function(t,e){return e?e.toUpperCase():""}))})),k=_((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),O=/\B([A-Z])/g,A=_((function(t){return t.replace(O,"-$1").toLowerCase()}));function j(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function S(t,e){return t.bind(e)}var E=Function.prototype.bind?S:j;function $(t,e){e=e||0;var n=t.length-e,r=new Array(n);while(n--)r[n]=t[n+e];return r}function F(t,e){for(var n in e)t[n]=e[n];return t}function T(t){for(var e={},n=0;n0,nt=Q&&Q.indexOf("edge/")>0,rt=(Q&&Q.indexOf("android"),Q&&/iphone|ipad|ipod|ios/.test(Q)||"ios"===Y),ot=(Q&&/chrome\/\d+/.test(Q),Q&&/phantomjs/.test(Q),Q&&Q.match(/firefox\/(\d+)/)),it={}.watch,at=!1;if(Z)try{var st={};Object.defineProperty(st,"passive",{get:function(){at=!0}}),window.addEventListener("test-passive",null,st)}catch(ka){}var ct=function(){return void 0===X&&(X=!Z&&!J&&"undefined"!==typeof t&&(t["process"]&&"server"===t["process"].env.VUE_ENV)),X},ut=Z&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function lt(t){return"function"===typeof t&&/native code/.test(t.toString())}var ft,pt="undefined"!==typeof Symbol&<(Symbol)&&"undefined"!==typeof Reflect&<(Reflect.ownKeys);ft="undefined"!==typeof Set&<(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var dt=M,ht=0,vt=function(){this.id=ht++,this.subs=[]};vt.prototype.addSub=function(t){this.subs.push(t)},vt.prototype.removeSub=function(t){m(this.subs,t)},vt.prototype.depend=function(){vt.target&&vt.target.addDep(this)},vt.prototype.notify=function(){var t=this.subs.slice();for(var e=0,n=t.length;e-1)if(i&&!x(o,"default"))a=!1;else if(""===a||a===A(t)){var c=ee(String,o.type);(c<0||s0&&(a=Se(a,(e||"")+"_"+n),je(a[0])&&je(u)&&(l[c]=wt(u.text+a[0].text),a.shift()),l.push.apply(l,a)):s(a)?je(u)?l[c]=wt(u.text+a):""!==a&&l.push(wt(a)):je(a)&&je(u)?l[c]=wt(u.text+a.text):(i(t._isVList)&&o(a.tag)&&r(a.key)&&o(e)&&(a.key="__vlist"+e+"_"+n+"__"),l.push(a)));return l}function Ee(t){var e=t.$options.provide;e&&(t._provided="function"===typeof e?e.call(t):e)}function $e(t){var e=Fe(t.$options.inject,t);e&&(Et(!1),Object.keys(e).forEach((function(n){Lt(t,n,e[n])})),Et(!0))}function Fe(t,e){if(t){for(var n=Object.create(null),r=pt?Reflect.ownKeys(t):Object.keys(t),o=0;o0,a=t?!!t.$stable:!i,s=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&r&&r!==n&&s===r.$key&&!i&&!r.$hasNormal)return r;for(var c in o={},t)t[c]&&"$"!==c[0]&&(o[c]=Re(e,c,t[c]))}else o={};for(var u in e)u in o||(o[u]=De(e,u));return t&&Object.isExtensible(t)&&(t._normalized=o),q(o,"$stable",a),q(o,"$key",s),q(o,"$hasNormal",i),o}function Re(t,e,n){var r=function(){var t=arguments.length?n.apply(null,arguments):n({});t=t&&"object"===typeof t&&!Array.isArray(t)?[t]:Ae(t);var e=t&&t[0];return t&&(!e||1===t.length&&e.isComment&&!Le(e))?void 0:t};return n.proxy&&Object.defineProperty(t,e,{get:r,enumerable:!0,configurable:!0}),r}function De(t,e){return function(){return t[e]}}function Ie(t,e){var n,r,i,a,s;if(Array.isArray(t)||"string"===typeof t)for(n=new Array(t.length),r=0,i=t.length;r1?$(n):n;for(var r=$(arguments,1),o='event handler for "'+t+'"',i=0,a=n.length;idocument.createEvent("Event").timeStamp&&(Kn=function(){return Zn.now()})}function Jn(){var t,e;for(Xn=Kn(),qn=!0,Hn.sort((function(t,e){return t.id-e.id})),Gn=0;GnGn&&Hn[n].id>t.id)n--;Hn.splice(n+1,0,t)}else Hn.push(t);Vn||(Vn=!0,ve(Jn))}}var nr=0,rr=function(t,e,n,r,o){this.vm=t,o&&(t._watcher=this),t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++nr,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new ft,this.newDepIds=new ft,this.expression="","function"===typeof e?this.getter=e:(this.getter=W(e),this.getter||(this.getter=M)),this.value=this.lazy?void 0:this.get()};rr.prototype.get=function(){var t;bt(this);var e=this.vm;try{t=this.getter.call(e,e)}catch(ka){if(!this.user)throw ka;ne(ka,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&be(t),mt(),this.cleanupDeps()}return t},rr.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},rr.prototype.cleanupDeps=function(){var t=this.deps.length;while(t--){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},rr.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():er(this)},rr.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||c(t)||this.deep){var e=this.value;if(this.value=t,this.user){var n='callback for watcher "'+this.expression+'"';re(this.cb,this.vm,[t,e],this.vm,n)}else this.cb.call(this.vm,t,e)}}},rr.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},rr.prototype.depend=function(){var t=this.deps.length;while(t--)this.deps[t].depend()},rr.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||m(this.vm._watchers,this);var t=this.deps.length;while(t--)this.deps[t].removeSub(this);this.active=!1}};var or={enumerable:!0,configurable:!0,get:M,set:M};function ir(t,e,n){or.get=function(){return this[e][n]},or.set=function(t){this[e][n]=t},Object.defineProperty(t,n,or)}function ar(t){t._watchers=[];var e=t.$options;e.props&&sr(t,e.props),e.methods&&vr(t,e.methods),e.data?cr(t):Mt(t._data={},!0),e.computed&&fr(t,e.computed),e.watch&&e.watch!==it&&gr(t,e.watch)}function sr(t,e){var n=t.$options.propsData||{},r=t._props={},o=t.$options._propKeys=[],i=!t.$parent;i||Et(!1);var a=function(i){o.push(i);var a=Zt(i,e,n,t);Lt(r,i,a),i in t||ir(t,"_props",i)};for(var s in e)a(s);Et(!0)}function cr(t){var e=t.$options.data;e=t._data="function"===typeof e?ur(e,t):e||{},l(e)||(e={});var n=Object.keys(e),r=t.$options.props,o=(t.$options.methods,n.length);while(o--){var i=n[o];0,r&&x(r,i)||V(i)||ir(t,"_data",i)}Mt(e,!0)}function ur(t,e){bt();try{return t.call(e,e)}catch(ka){return ne(ka,e,"data()"),{}}finally{mt()}}var lr={lazy:!0};function fr(t,e){var n=t._computedWatchers=Object.create(null),r=ct();for(var o in e){var i=e[o],a="function"===typeof i?i:i.get;0,r||(n[o]=new rr(t,a||M,M,lr)),o in t||pr(t,o,i)}}function pr(t,e,n){var r=!ct();"function"===typeof n?(or.get=r?dr(e):hr(n),or.set=M):(or.get=n.get?r&&!1!==n.cache?dr(e):hr(n.get):M,or.set=n.set||M),Object.defineProperty(t,e,or)}function dr(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),vt.target&&e.depend(),e.value}}function hr(t){return function(){return t.call(this,this)}}function vr(t,e){t.$options.props;for(var n in e)t[n]="function"!==typeof e[n]?M:E(e[n],t)}function gr(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var o=0;o-1)return this;var n=$(arguments,1);return n.unshift(this),"function"===typeof t.install?t.install.apply(t,n):"function"===typeof t&&t.apply(null,n),e.push(t),this}}function Ar(t){t.mixin=function(t){return this.options=Xt(this.options,t),this}}function jr(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,o=t._Ctor||(t._Ctor={});if(o[r])return o[r];var i=t.name||n.options.name;var a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=Xt(n.options,t),a["super"]=n,a.options.props&&Sr(a),a.options.computed&&Er(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,B.forEach((function(t){a[t]=n[t]})),i&&(a.options.components[i]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=F({},a.options),o[r]=a,a}}function Sr(t){var e=t.options.props;for(var n in e)ir(t.prototype,"_props",n)}function Er(t){var e=t.options.computed;for(var n in e)pr(t.prototype,n,e[n])}function $r(t){B.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&l(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"===typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}function Fr(t){return t&&(t.Ctor.options.name||t.tag)}function Tr(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"===typeof t?t.split(",").indexOf(e)>-1:!!f(t)&&t.test(e)}function Mr(t,e){var n=t.cache,r=t.keys,o=t._vnode;for(var i in n){var a=n[i];if(a){var s=a.name;s&&!e(s)&&Lr(n,i,r,o)}}}function Lr(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,m(n,e)}xr(kr),mr(kr),$n(kr),Ln(kr),xn(kr);var Pr=[String,RegExp,Array],Rr={name:"keep-alive",abstract:!0,props:{include:Pr,exclude:Pr,max:[String,Number]},methods:{cacheVNode:function(){var t=this,e=t.cache,n=t.keys,r=t.vnodeToCache,o=t.keyToCache;if(r){var i=r.tag,a=r.componentInstance,s=r.componentOptions;e[o]={name:Fr(s),tag:i,componentInstance:a},n.push(o),this.max&&n.length>parseInt(this.max)&&Lr(e,n[0],n,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)Lr(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",(function(e){Mr(t,(function(t){return Tr(e,t)}))})),this.$watch("exclude",(function(e){Mr(t,(function(t){return!Tr(e,t)}))}))},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=kn(t),n=e&&e.componentOptions;if(n){var r=Fr(n),o=this,i=o.include,a=o.exclude;if(i&&(!r||!Tr(i,r))||a&&r&&Tr(a,r))return e;var s=this,c=s.cache,u=s.keys,l=null==e.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):e.key;c[l]?(e.componentInstance=c[l].componentInstance,m(u,l),u.push(l)):(this.vnodeToCache=e,this.keyToCache=l),e.data.keepAlive=!0}return e||t&&t[0]}},Dr={KeepAlive:Rr};function Ir(t){var e={get:function(){return z}};Object.defineProperty(t,"config",e),t.util={warn:dt,extend:F,mergeOptions:Xt,defineReactive:Lt},t.set=Pt,t.delete=Rt,t.nextTick=ve,t.observable=function(t){return Mt(t),t},t.options=Object.create(null),B.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,F(t.options.components,Dr),Or(t),Ar(t),jr(t),$r(t)}Ir(kr),Object.defineProperty(kr.prototype,"$isServer",{get:ct}),Object.defineProperty(kr.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(kr,"FunctionalRenderContext",{value:Qe}),kr.version="2.6.14";var Nr=g("style,class"),Br=g("input,textarea,option,select,progress"),Hr=function(t,e,n){return"value"===n&&Br(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},zr=g("contenteditable,draggable,spellcheck"),Ur=g("events,caret,typing,plaintext-only"),Vr=function(t,e){return Kr(e)||"false"===e?"false":"contenteditable"===t&&Ur(e)?e:"true"},qr=g("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),Gr="http://www.w3.org/1999/xlink",Wr=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Xr=function(t){return Wr(t)?t.slice(6,t.length):""},Kr=function(t){return null==t||!1===t};function Zr(t){var e=t.data,n=t,r=t;while(o(r.componentInstance))r=r.componentInstance._vnode,r&&r.data&&(e=Jr(r.data,e));while(o(n=n.parent))n&&n.data&&(e=Jr(e,n.data));return Yr(e.staticClass,e.class)}function Jr(t,e){return{staticClass:Qr(t.staticClass,e.staticClass),class:o(t.class)?[t.class,e.class]:e.class}}function Yr(t,e){return o(t)||o(e)?Qr(t,to(e)):""}function Qr(t,e){return t?e?t+" "+e:t:e||""}function to(t){return Array.isArray(t)?eo(t):c(t)?no(t):"string"===typeof t?t:""}function eo(t){for(var e,n="",r=0,i=t.length;r-1?co[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:co[t]=/HTMLUnknownElement/.test(e.toString())}var lo=g("text,number,password,search,email,tel,url");function fo(t){if("string"===typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}function po(t,e){var n=document.createElement(t);return"select"!==t||e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n}function ho(t,e){return document.createElementNS(ro[t],e)}function vo(t){return document.createTextNode(t)}function go(t){return document.createComment(t)}function bo(t,e,n){t.insertBefore(e,n)}function mo(t,e){t.removeChild(e)}function yo(t,e){t.appendChild(e)}function xo(t){return t.parentNode}function _o(t){return t.nextSibling}function wo(t){return t.tagName}function Co(t,e){t.textContent=e}function ko(t,e){t.setAttribute(e,"")}var Oo=Object.freeze({createElement:po,createElementNS:ho,createTextNode:vo,createComment:go,insertBefore:bo,removeChild:mo,appendChild:yo,parentNode:xo,nextSibling:_o,tagName:wo,setTextContent:Co,setStyleScope:ko}),Ao={create:function(t,e){jo(e)},update:function(t,e){t.data.ref!==e.data.ref&&(jo(t,!0),jo(e))},destroy:function(t){jo(t,!0)}};function jo(t,e){var n=t.data.ref;if(o(n)){var r=t.context,i=t.componentInstance||t.elm,a=r.$refs;e?Array.isArray(a[n])?m(a[n],i):a[n]===i&&(a[n]=void 0):t.data.refInFor?Array.isArray(a[n])?a[n].indexOf(i)<0&&a[n].push(i):a[n]=[i]:a[n]=i}}var So=new yt("",{},[]),Eo=["create","activate","update","remove","destroy"];function $o(t,e){return t.key===e.key&&t.asyncFactory===e.asyncFactory&&(t.tag===e.tag&&t.isComment===e.isComment&&o(t.data)===o(e.data)&&Fo(t,e)||i(t.isAsyncPlaceholder)&&r(e.asyncFactory.error))}function Fo(t,e){if("input"!==t.tag)return!0;var n,r=o(n=t.data)&&o(n=n.attrs)&&n.type,i=o(n=e.data)&&o(n=n.attrs)&&n.type;return r===i||lo(r)&&lo(i)}function To(t,e,n){var r,i,a={};for(r=e;r<=n;++r)i=t[r].key,o(i)&&(a[i]=r);return a}function Mo(t){var e,n,a={},c=t.modules,u=t.nodeOps;for(e=0;ev?(f=r(n[m+1])?null:n[m+1].elm,C(t,f,n,h,m,i)):h>m&&O(e,p,v)}function S(t,e,n,r){for(var i=n;i-1?Vo(t,e,n):qr(e)?Kr(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):zr(e)?t.setAttribute(e,Vr(e,n)):Wr(e)?Kr(n)?t.removeAttributeNS(Gr,Xr(e)):t.setAttributeNS(Gr,e,n):Vo(t,e,n)}function Vo(t,e,n){if(Kr(n))t.removeAttribute(e);else{if(tt&&!et&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var qo={create:zo,update:zo};function Go(t,e){var n=e.elm,i=e.data,a=t.data;if(!(r(i.staticClass)&&r(i.class)&&(r(a)||r(a.staticClass)&&r(a.class)))){var s=Zr(e),c=n._transitionClasses;o(c)&&(s=Qr(s,to(c))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var Wo,Xo={create:Go,update:Go},Ko="__r",Zo="__c";function Jo(t){if(o(t[Ko])){var e=tt?"change":"input";t[e]=[].concat(t[Ko],t[e]||[]),delete t[Ko]}o(t[Zo])&&(t.change=[].concat(t[Zo],t.change||[]),delete t[Zo])}function Yo(t,e,n){var r=Wo;return function o(){var i=e.apply(null,arguments);null!==i&&ei(t,o,n,r)}}var Qo=se&&!(ot&&Number(ot[1])<=53);function ti(t,e,n,r){if(Qo){var o=Xn,i=e;e=i._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}}Wo.addEventListener(t,e,at?{capture:n,passive:r}:n)}function ei(t,e,n,r){(r||Wo).removeEventListener(t,e._wrapper||e,n)}function ni(t,e){if(!r(t.data.on)||!r(e.data.on)){var n=e.data.on||{},o=t.data.on||{};Wo=e.elm,Jo(n),_e(n,o,ti,ei,Yo,e.context),Wo=void 0}}var ri,oi={create:ni,update:ni};function ii(t,e){if(!r(t.data.domProps)||!r(e.data.domProps)){var n,i,a=e.elm,s=t.data.domProps||{},c=e.data.domProps||{};for(n in o(c.__ob__)&&(c=e.data.domProps=F({},c)),s)n in c||(a[n]="");for(n in c){if(i=c[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),i===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n&&"PROGRESS"!==a.tagName){a._value=i;var u=r(i)?"":String(i);ai(a,u)&&(a.value=u)}else if("innerHTML"===n&&io(a.tagName)&&r(a.innerHTML)){ri=ri||document.createElement("div"),ri.innerHTML=""+i+"";var l=ri.firstChild;while(a.firstChild)a.removeChild(a.firstChild);while(l.firstChild)a.appendChild(l.firstChild)}else if(i!==s[n])try{a[n]=i}catch(ka){}}}}function ai(t,e){return!t.composing&&("OPTION"===t.tagName||si(t,e)||ci(t,e))}function si(t,e){var n=!0;try{n=document.activeElement!==t}catch(ka){}return n&&t.value!==e}function ci(t,e){var n=t.value,r=t._vModifiers;if(o(r)){if(r.number)return v(n)!==v(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}var ui={create:ii,update:ii},li=_((function(t){var e={},n=/;(?![^(]*\))/g,r=/:(.+)/;return t.split(n).forEach((function(t){if(t){var n=t.split(r);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}));function fi(t){var e=pi(t.style);return t.staticStyle?F(t.staticStyle,e):e}function pi(t){return Array.isArray(t)?T(t):"string"===typeof t?li(t):t}function di(t,e){var n,r={};if(e){var o=t;while(o.componentInstance)o=o.componentInstance._vnode,o&&o.data&&(n=fi(o.data))&&F(r,n)}(n=fi(t.data))&&F(r,n);var i=t;while(i=i.parent)i.data&&(n=fi(i.data))&&F(r,n);return r}var hi,vi=/^--/,gi=/\s*!important$/,bi=function(t,e,n){if(vi.test(e))t.style.setProperty(e,n);else if(gi.test(n))t.style.setProperty(A(e),n.replace(gi,""),"important");else{var r=yi(e);if(Array.isArray(n))for(var o=0,i=n.length;o-1?e.split(wi).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function ki(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(wi).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";while(n.indexOf(r)>=0)n=n.replace(r," ");n=n.trim(),n?t.setAttribute("class",n):t.removeAttribute("class")}}function Oi(t){if(t){if("object"===typeof t){var e={};return!1!==t.css&&F(e,Ai(t.name||"v")),F(e,t),e}return"string"===typeof t?Ai(t):void 0}}var Ai=_((function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}})),ji=Z&&!et,Si="transition",Ei="animation",$i="transition",Fi="transitionend",Ti="animation",Mi="animationend";ji&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&($i="WebkitTransition",Fi="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Ti="WebkitAnimation",Mi="webkitAnimationEnd"));var Li=Z?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function Pi(t){Li((function(){Li(t)}))}function Ri(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),Ci(t,e))}function Di(t,e){t._transitionClasses&&m(t._transitionClasses,e),ki(t,e)}function Ii(t,e,n){var r=Bi(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s=o===Si?Fi:Mi,c=0,u=function(){t.removeEventListener(s,l),n()},l=function(e){e.target===t&&++c>=a&&u()};setTimeout((function(){c0&&(n=Si,l=a,f=i.length):e===Ei?u>0&&(n=Ei,l=u,f=c.length):(l=Math.max(a,u),n=l>0?a>u?Si:Ei:null,f=n?n===Si?i.length:c.length:0);var p=n===Si&&Ni.test(r[$i+"Property"]);return{type:n,timeout:l,propCount:f,hasTransform:p}}function Hi(t,e){while(t.length1}function Wi(t,e){!0!==e.data.show&&Ui(e)}var Xi=Z?{create:Wi,activate:Wi,remove:function(t,e){!0!==t.data.show?Vi(t,e):e()}}:{},Ki=[qo,Xo,oi,ui,_i,Xi],Zi=Ki.concat(Ho),Ji=Mo({nodeOps:Oo,modules:Zi});et&&document.addEventListener("selectionchange",(function(){var t=document.activeElement;t&&t.vmodel&&ia(t,"input")}));var Yi={inserted:function(t,e,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?we(n,"postpatch",(function(){Yi.componentUpdated(t,e,n)})):Qi(t,e,n.context),t._vOptions=[].map.call(t.options,na)):("textarea"===n.tag||lo(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",ra),t.addEventListener("compositionend",oa),t.addEventListener("change",oa),et&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){Qi(t,e,n.context);var r=t._vOptions,o=t._vOptions=[].map.call(t.options,na);if(o.some((function(t,e){return!R(t,r[e])}))){var i=t.multiple?e.value.some((function(t){return ea(t,o)})):e.value!==e.oldValue&&ea(e.value,o);i&&ia(t,"change")}}}};function Qi(t,e,n){ta(t,e,n),(tt||nt)&&setTimeout((function(){ta(t,e,n)}),0)}function ta(t,e,n){var r=e.value,o=t.multiple;if(!o||Array.isArray(r)){for(var i,a,s=0,c=t.options.length;s-1,a.selected!==i&&(a.selected=i);else if(R(na(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));o||(t.selectedIndex=-1)}}function ea(t,e){return e.every((function(e){return!R(e,t)}))}function na(t){return"_value"in t?t._value:t.value}function ra(t){t.target.composing=!0}function oa(t){t.target.composing&&(t.target.composing=!1,ia(t.target,"input"))}function ia(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function aa(t){return!t.componentInstance||t.data&&t.data.transition?t:aa(t.componentInstance._vnode)}var sa={bind:function(t,e,n){var r=e.value;n=aa(n);var o=n.data&&n.data.transition,i=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&o?(n.data.show=!0,Ui(n,(function(){t.style.display=i}))):t.style.display=r?i:"none"},update:function(t,e,n){var r=e.value,o=e.oldValue;if(!r!==!o){n=aa(n);var i=n.data&&n.data.transition;i?(n.data.show=!0,r?Ui(n,(function(){t.style.display=t.__vOriginalDisplay})):Vi(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none"}},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}},ca={model:Yi,show:sa},ua={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function la(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?la(kn(e.children)):t}function fa(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var i in o)e[C(i)]=o[i];return e}function pa(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function da(t){while(t=t.parent)if(t.data.transition)return!0}function ha(t,e){return e.key===t.key&&e.tag===t.tag}var va=function(t){return t.tag||Le(t)},ga=function(t){return"show"===t.name},ba={name:"transition",props:ua,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(va),n.length)){0;var r=this.mode;0;var o=n[0];if(da(this.$vnode))return o;var i=la(o);if(!i)return o;if(this._leaving)return pa(t,o);var a="__transition-"+this._uid+"-";i.key=null==i.key?i.isComment?a+"comment":a+i.tag:s(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var c=(i.data||(i.data={})).transition=fa(this),u=this._vnode,l=la(u);if(i.data.directives&&i.data.directives.some(ga)&&(i.data.show=!0),l&&l.data&&!ha(i,l)&&!Le(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=F({},c);if("out-in"===r)return this._leaving=!0,we(f,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),pa(t,o);if("in-out"===r){if(Le(i))return u;var p,d=function(){p()};we(c,"afterEnter",d),we(c,"enterCancelled",d),we(f,"delayLeave",(function(t){p=t}))}}return o}}},ma=F({tag:String,moveClass:String},ua);delete ma.mode;var ya={props:ma,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var o=Tn(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=fa(this),s=0;so?0:o+e),n=n>o?o:n,n<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;var i=Array(o);while(++r=2)t.mixin({beforeCreate:r});else{var n=t.prototype._init;t.prototype._init=function(t){void 0===t&&(t={}),t.init=t.init?[r].concat(t.init):r,n.call(this,t)}}function r(){var t=this.$options;t.store?this.$store="function"===typeof t.store?t.store():t.store:t.parent&&t.parent.$store&&(this.$store=t.parent.$store)}}n.d(e,"b",(function(){return R})),n.d(e,"c",(function(){return P})),n.d(e,"d",(function(){return M}));var o="undefined"!==typeof window?window:"undefined"!==typeof t?t:{},i=o.__VUE_DEVTOOLS_GLOBAL_HOOK__;function a(t){i&&(t._devtoolHook=i,i.emit("vuex:init",t),i.on("vuex:travel-to-state",(function(e){t.replaceState(e)})),t.subscribe((function(t,e){i.emit("vuex:mutation",t,e)}),{prepend:!0}),t.subscribeAction((function(t,e){i.emit("vuex:action",t,e)}),{prepend:!0}))}function s(t,e){return t.filter(e)[0]}function c(t,e){if(void 0===e&&(e=[]),null===t||"object"!==typeof t)return t;var n=s(e,(function(e){return e.original===t}));if(n)return n.copy;var r=Array.isArray(t)?[]:{};return e.push({original:t,copy:r}),Object.keys(t).forEach((function(n){r[n]=c(t[n],e)})),r}function u(t,e){Object.keys(t).forEach((function(n){return e(t[n],n)}))}function l(t){return null!==t&&"object"===typeof t}function f(t){return t&&"function"===typeof t.then}function p(t,e){return function(){return t(e)}}var d=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=("function"===typeof n?n():n)||{}},h={namespaced:{configurable:!0}};h.namespaced.get=function(){return!!this._rawModule.namespaced},d.prototype.addChild=function(t,e){this._children[t]=e},d.prototype.removeChild=function(t){delete this._children[t]},d.prototype.getChild=function(t){return this._children[t]},d.prototype.hasChild=function(t){return t in this._children},d.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},d.prototype.forEachChild=function(t){u(this._children,t)},d.prototype.forEachGetter=function(t){this._rawModule.getters&&u(this._rawModule.getters,t)},d.prototype.forEachAction=function(t){this._rawModule.actions&&u(this._rawModule.actions,t)},d.prototype.forEachMutation=function(t){this._rawModule.mutations&&u(this._rawModule.mutations,t)},Object.defineProperties(d.prototype,h);var v=function(t){this.register([],t,!1)};function g(t,e,n){if(e.update(n),n.modules)for(var r in n.modules){if(!e.getChild(r))return void 0;g(t.concat(r),e.getChild(r),n.modules[r])}}v.prototype.get=function(t){return t.reduce((function(t,e){return t.getChild(e)}),this.root)},v.prototype.getNamespace=function(t){var e=this.root;return t.reduce((function(t,n){return e=e.getChild(n),t+(e.namespaced?n+"/":"")}),"")},v.prototype.update=function(t){g([],this.root,t)},v.prototype.register=function(t,e,n){var r=this;void 0===n&&(n=!0);var o=new d(e,n);if(0===t.length)this.root=o;else{var i=this.get(t.slice(0,-1));i.addChild(t[t.length-1],o)}e.modules&&u(e.modules,(function(e,o){r.register(t.concat(o),e,n)}))},v.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1],r=e.getChild(n);r&&r.runtime&&e.removeChild(n)},v.prototype.isRegistered=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];return!!e&&e.hasChild(n)};var b;var m=function(t){var e=this;void 0===t&&(t={}),!b&&"undefined"!==typeof window&&window.Vue&&T(window.Vue);var n=t.plugins;void 0===n&&(n=[]);var r=t.strict;void 0===r&&(r=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new v(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new b,this._makeLocalGettersCache=Object.create(null);var o=this,i=this,s=i.dispatch,c=i.commit;this.dispatch=function(t,e){return s.call(o,t,e)},this.commit=function(t,e,n){return c.call(o,t,e,n)},this.strict=r;var u=this._modules.root.state;C(this,u,[],this._modules.root),w(this,u),n.forEach((function(t){return t(e)}));var l=void 0!==t.devtools?t.devtools:b.config.devtools;l&&a(this)},y={state:{configurable:!0}};function x(t,e,n){return e.indexOf(t)<0&&(n&&n.prepend?e.unshift(t):e.push(t)),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}function _(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;C(t,n,[],t._modules.root,!0),w(t,n,e)}function w(t,e,n){var r=t._vm;t.getters={},t._makeLocalGettersCache=Object.create(null);var o=t._wrappedGetters,i={};u(o,(function(e,n){i[n]=p(e,t),Object.defineProperty(t.getters,n,{get:function(){return t._vm[n]},enumerable:!0})}));var a=b.config.silent;b.config.silent=!0,t._vm=new b({data:{$$state:e},computed:i}),b.config.silent=a,t.strict&&E(t),r&&(n&&t._withCommit((function(){r._data.$$state=null})),b.nextTick((function(){return r.$destroy()})))}function C(t,e,n,r,o){var i=!n.length,a=t._modules.getNamespace(n);if(r.namespaced&&(t._modulesNamespaceMap[a],t._modulesNamespaceMap[a]=r),!i&&!o){var s=$(e,n.slice(0,-1)),c=n[n.length-1];t._withCommit((function(){b.set(s,c,r.state)}))}var u=r.context=k(t,a,n);r.forEachMutation((function(e,n){var r=a+n;A(t,r,e,u)})),r.forEachAction((function(e,n){var r=e.root?n:a+n,o=e.handler||e;j(t,r,o,u)})),r.forEachGetter((function(e,n){var r=a+n;S(t,r,e,u)})),r.forEachChild((function(r,i){C(t,e,n.concat(i),r,o)}))}function k(t,e,n){var r=""===e,o={dispatch:r?t.dispatch:function(n,r,o){var i=F(n,r,o),a=i.payload,s=i.options,c=i.type;return s&&s.root||(c=e+c),t.dispatch(c,a)},commit:r?t.commit:function(n,r,o){var i=F(n,r,o),a=i.payload,s=i.options,c=i.type;s&&s.root||(c=e+c),t.commit(c,a,s)}};return Object.defineProperties(o,{getters:{get:r?function(){return t.getters}:function(){return O(t,e)}},state:{get:function(){return $(t.state,n)}}}),o}function O(t,e){if(!t._makeLocalGettersCache[e]){var n={},r=e.length;Object.keys(t.getters).forEach((function(o){if(o.slice(0,r)===e){var i=o.slice(r);Object.defineProperty(n,i,{get:function(){return t.getters[o]},enumerable:!0})}})),t._makeLocalGettersCache[e]=n}return t._makeLocalGettersCache[e]}function A(t,e,n,r){var o=t._mutations[e]||(t._mutations[e]=[]);o.push((function(e){n.call(t,r.state,e)}))}function j(t,e,n,r){var o=t._actions[e]||(t._actions[e]=[]);o.push((function(e){var o=n.call(t,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:t.getters,rootState:t.state},e);return f(o)||(o=Promise.resolve(o)),t._devtoolHook?o.catch((function(e){throw t._devtoolHook.emit("vuex:error",e),e})):o}))}function S(t,e,n,r){t._wrappedGetters[e]||(t._wrappedGetters[e]=function(t){return n(r.state,r.getters,t.state,t.getters)})}function E(t){t._vm.$watch((function(){return this._data.$$state}),(function(){0}),{deep:!0,sync:!0})}function $(t,e){return e.reduce((function(t,e){return t[e]}),t)}function F(t,e,n){return l(t)&&t.type&&(n=e,e=t,t=t.type),{type:t,payload:e,options:n}}function T(t){b&&t===b||(b=t,r(b))}y.state.get=function(){return this._vm._data.$$state},y.state.set=function(t){0},m.prototype.commit=function(t,e,n){var r=this,o=F(t,e,n),i=o.type,a=o.payload,s=(o.options,{type:i,payload:a}),c=this._mutations[i];c&&(this._withCommit((function(){c.forEach((function(t){t(a)}))})),this._subscribers.slice().forEach((function(t){return t(s,r.state)})))},m.prototype.dispatch=function(t,e){var n=this,r=F(t,e),o=r.type,i=r.payload,a={type:o,payload:i},s=this._actions[o];if(s){try{this._actionSubscribers.slice().filter((function(t){return t.before})).forEach((function(t){return t.before(a,n.state)}))}catch(u){0}var c=s.length>1?Promise.all(s.map((function(t){return t(i)}))):s[0](i);return new Promise((function(t,e){c.then((function(e){try{n._actionSubscribers.filter((function(t){return t.after})).forEach((function(t){return t.after(a,n.state)}))}catch(u){0}t(e)}),(function(t){try{n._actionSubscribers.filter((function(t){return t.error})).forEach((function(e){return e.error(a,n.state,t)}))}catch(u){0}e(t)}))}))}},m.prototype.subscribe=function(t,e){return x(t,this._subscribers,e)},m.prototype.subscribeAction=function(t,e){var n="function"===typeof t?{before:t}:t;return x(n,this._actionSubscribers,e)},m.prototype.watch=function(t,e,n){var r=this;return this._watcherVM.$watch((function(){return t(r.state,r.getters)}),e,n)},m.prototype.replaceState=function(t){var e=this;this._withCommit((function(){e._vm._data.$$state=t}))},m.prototype.registerModule=function(t,e,n){void 0===n&&(n={}),"string"===typeof t&&(t=[t]),this._modules.register(t,e),C(this,this.state,t,this._modules.get(t),n.preserveState),w(this,this.state)},m.prototype.unregisterModule=function(t){var e=this;"string"===typeof t&&(t=[t]),this._modules.unregister(t),this._withCommit((function(){var n=$(e.state,t.slice(0,-1));b.delete(n,t[t.length-1])})),_(this)},m.prototype.hasModule=function(t){return"string"===typeof t&&(t=[t]),this._modules.isRegistered(t)},m.prototype.hotUpdate=function(t){this._modules.update(t),_(this,!0)},m.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(m.prototype,y);var M=B((function(t,e){var n={};return I(e).forEach((function(e){var r=e.key,o=e.val;n[r]=function(){var e=this.$store.state,n=this.$store.getters;if(t){var r=H(this.$store,"mapState",t);if(!r)return;e=r.context.state,n=r.context.getters}return"function"===typeof o?o.call(this,e,n):e[o]},n[r].vuex=!0})),n})),L=B((function(t,e){var n={};return I(e).forEach((function(e){var r=e.key,o=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.commit;if(t){var i=H(this.$store,"mapMutations",t);if(!i)return;r=i.context.commit}return"function"===typeof o?o.apply(this,[r].concat(e)):r.apply(this.$store,[o].concat(e))}})),n})),P=B((function(t,e){var n={};return I(e).forEach((function(e){var r=e.key,o=e.val;o=t+o,n[r]=function(){if(!t||H(this.$store,"mapGetters",t))return this.$store.getters[o]},n[r].vuex=!0})),n})),R=B((function(t,e){var n={};return I(e).forEach((function(e){var r=e.key,o=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.dispatch;if(t){var i=H(this.$store,"mapActions",t);if(!i)return;r=i.context.dispatch}return"function"===typeof o?o.apply(this,[r].concat(e)):r.apply(this.$store,[o].concat(e))}})),n})),D=function(t){return{mapState:M.bind(null,t),mapGetters:P.bind(null,t),mapMutations:L.bind(null,t),mapActions:R.bind(null,t)}};function I(t){return N(t)?Array.isArray(t)?t.map((function(t){return{key:t,val:t}})):Object.keys(t).map((function(e){return{key:e,val:t[e]}})):[]}function N(t){return Array.isArray(t)||l(t)}function B(t){return function(e,n){return"string"!==typeof e?(n=e,e=""):"/"!==e.charAt(e.length-1)&&(e+="/"),t(e,n)}}function H(t,e,n){var r=t._modulesNamespaceMap[n];return r}function z(t){void 0===t&&(t={});var e=t.collapsed;void 0===e&&(e=!0);var n=t.filter;void 0===n&&(n=function(t,e,n){return!0});var r=t.transformer;void 0===r&&(r=function(t){return t});var o=t.mutationTransformer;void 0===o&&(o=function(t){return t});var i=t.actionFilter;void 0===i&&(i=function(t,e){return!0});var a=t.actionTransformer;void 0===a&&(a=function(t){return t});var s=t.logMutations;void 0===s&&(s=!0);var u=t.logActions;void 0===u&&(u=!0);var l=t.logger;return void 0===l&&(l=console),function(t){var f=c(t.state);"undefined"!==typeof l&&(s&&t.subscribe((function(t,i){var a=c(i);if(n(t,f,a)){var s=q(),u=o(t),p="mutation "+t.type+s;U(l,p,e),l.log("%c prev state","color: #9E9E9E; font-weight: bold",r(f)),l.log("%c mutation","color: #03A9F4; font-weight: bold",u),l.log("%c next state","color: #4CAF50; font-weight: bold",r(a)),V(l)}f=a})),u&&t.subscribeAction((function(t,n){if(i(t,n)){var r=q(),o=a(t),s="action "+t.type+r;U(l,s,e),l.log("%c action","color: #03A9F4; font-weight: bold",o),V(l)}})))}}function U(t,e,n){var r=n?t.groupCollapsed:t.group;try{r.call(t,e)}catch(o){t.log(e)}}function V(t){try{t.groupEnd()}catch(e){t.log("—— log end ——")}}function q(){var t=new Date;return" @ "+W(t.getHours(),2)+":"+W(t.getMinutes(),2)+":"+W(t.getSeconds(),2)+"."+W(t.getMilliseconds(),3)}function G(t,e){return new Array(e+1).join(t)}function W(t,e){return G("0",e-t.toString().length)+t}var X={Store:m,install:T,version:"3.6.2",mapState:M,mapMutations:L,mapGetters:P,mapActions:R,createNamespacedHelpers:D,createLogger:z};e["a"]=X}).call(this,n("c8ba"))},3729:function(t,e,n){var r=n("9e69"),o=n("00fd"),i=n("29f3"),a="[object Null]",s="[object Undefined]",c=r?r.toStringTag:void 0;function u(t){return null==t?void 0===t?s:a:c&&c in Object(t)?o(t):i(t)}t.exports=u},"45d1":function(t,e,n){"use strict";n.d(e,"a",(function(){return X}));var r=n("0f88"),o=n("1fc0");function i(t){var e=Object(o["a"])(t),n=e.pageXOffset,r=e.pageYOffset;return{scrollLeft:n,scrollTop:r}}var a=n("2767");function s(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function c(t){return t!==Object(o["a"])(t)&&Object(a["b"])(t)?s(t):i(t)}var u=n("5788"),l=n("ef52");function f(t){return Object(r["a"])(Object(l["a"])(t)).left+i(t).scrollLeft}var p=n("b519");function d(t){var e=Object(p["a"])(t),n=e.overflow,r=e.overflowX,o=e.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}var h=n("84c6");function v(t){var e=t.getBoundingClientRect(),n=Object(h["c"])(e.width)/t.offsetWidth||1,r=Object(h["c"])(e.height)/t.offsetHeight||1;return 1!==n||1!==r}function g(t,e,n){void 0===n&&(n=!1);var o=Object(a["b"])(e),i=Object(a["b"])(e)&&v(e),s=Object(l["a"])(e),p=Object(r["a"])(t,i),h={scrollLeft:0,scrollTop:0},g={x:0,y:0};return(o||!o&&!n)&&(("body"!==Object(u["a"])(e)||d(s))&&(h=c(e)),Object(a["b"])(e)?(g=Object(r["a"])(e,!0),g.x+=e.clientLeft,g.y+=e.clientTop):s&&(g.x=f(s))),{x:p.left+h.scrollLeft-g.x,y:p.top+h.scrollTop-g.y,width:p.width,height:p.height}}var b=n("e2e9"),m=n("28bf");function y(t){return["html","body","#document"].indexOf(Object(u["a"])(t))>=0?t.ownerDocument.body:Object(a["b"])(t)&&d(t)?t:y(Object(m["a"])(t))}function x(t,e){var n;void 0===e&&(e=[]);var r=y(t),i=r===(null==(n=t.ownerDocument)?void 0:n.body),a=Object(o["a"])(r),s=i?[a].concat(a.visualViewport||[],d(r)?r:[]):r,c=e.concat(s);return i?c:c.concat(x(Object(m["a"])(s)))}var _=n("b62b"),w=n("77f9");function C(t){var e=new Map,n=new Set,r=[];function o(t){n.add(t.name);var i=[].concat(t.requires||[],t.requiresIfExists||[]);i.forEach((function(t){if(!n.has(t)){var r=e.get(t);r&&o(r)}})),r.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){n.has(t.name)||o(t)})),r}function k(t){var e=C(t);return w["e"].reduce((function(t,n){return t.concat(e.filter((function(t){return t.phase===n})))}),[])}function O(t){var e;return function(){return e||(e=new Promise((function(n){Promise.resolve().then((function(){e=void 0,n(t())}))}))),e}}function A(t){var e=t.reduce((function(t,e){var n=t[e.name];return t[e.name]=n?Object.assign({},n,e,{options:Object.assign({},n.options,e.options),data:Object.assign({},n.data,e.data)}):e,t}),{});return Object.keys(e).map((function(t){return e[t]}))}var j={placement:"bottom",modifiers:[],strategy:"absolute"};function S(){for(var t=arguments.length,e=new Array(t),n=0;n1?e-1:0),r=1;r=0||u[o]":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},l=["(","?"],f={")":["("],":":["?","?:"]},p=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var h={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,n){if(t)throw e;return n}};function v(t,e){var n,r,o,i,a,s,c=[];for(n=0;n{const r=new x({}),o=new Set,i=()=>{o.forEach(t=>t())},a=t=>(o.add(t),()=>o.delete(t)),s=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return r.data[t]},c=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"default";r.data[e]={..._,...r.data[e],...t},r.data[e][""]={..._[""],...r.data[e][""]}},u=(t,e)=>{c(t,e),i()},l=(t,e)=>{r.data={},r.pluralForms={},u(t,e)},f=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return r.data[t]||c(void 0,t),r.dcnpgettext(t,e,n,o,i)},p=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return t},d=(t,e)=>{let r=f(e,void 0,t);return n?(r=n.applyFilters("i18n.gettext",r,t,e),n.applyFilters("i18n.gettext_"+p(e),r,t,e)):r},h=(t,e,r)=>{let o=f(r,e,t);return n?(o=n.applyFilters("i18n.gettext_with_context",o,t,e,r),n.applyFilters("i18n.gettext_with_context_"+p(r),o,t,e,r)):o},v=(t,e,r,o)=>{let i=f(o,void 0,t,e,r);return n?(i=n.applyFilters("i18n.ngettext",i,t,e,r,o),n.applyFilters("i18n.ngettext_"+p(o),i,t,e,r,o)):i},g=(t,e,r,o,i)=>{let a=f(i,o,t,e,r);return n?(a=n.applyFilters("i18n.ngettext_with_context",a,t,e,r,o,i),n.applyFilters("i18n.ngettext_with_context_"+p(i),a,t,e,r,o,i)):a},b=()=>"rtl"===h("ltr","text direction"),m=(t,e,o)=>{var i,a;const s=e?e+""+t:t;let c=!(null===(i=r.data)||void 0===i||null===(a=i[null!==o&&void 0!==o?o:"default"])||void 0===a||!a[s]);return n&&(c=n.applyFilters("i18n.has_translation",c,t,e,o),c=n.applyFilters("i18n.has_translation_"+p(o),c,t,e,o)),c};if(t&&u(t,e),n){const t=t=>{w.test(t)&&i()};n.addAction("hookAdded","core/i18n",t),n.addAction("hookRemoved","core/i18n",t)}return{getLocaleData:s,setLocaleData:u,resetLocaleData:l,subscribe:a,__:d,_x:h,_n:v,_nx:g,isRTL:b,hasTranslation:m}};function k(t){return"string"!==typeof t||""===t?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(t)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}var O=k;function A(t){return"string"!==typeof t||""===t?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(t)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(t)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}var j=A;function S(t,e){return function(n,r,o){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10;const a=t[e];if(!j(n))return;if(!O(r))return;if("function"!==typeof o)return void console.error("The hook callback must be a function.");if("number"!==typeof i)return void console.error("If specified, the hook priority must be a number.");const s={callback:o,priority:i,namespace:r};if(a[n]){const t=a[n].handlers;let e;for(e=t.length;e>0;e--)if(i>=t[e-1].priority)break;e===t.length?t[e]=s:t.splice(e,0,s),a.__current.forEach(t=>{t.name===n&&t.currentIndex>=e&&t.currentIndex++})}else a[n]={handlers:[s],runs:0};"hookAdded"!==n&&t.doAction("hookAdded",n,r,o,i)}}var E=S;function $(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r,o){const i=t[e];if(!j(r))return;if(!n&&!O(o))return;if(!i[r])return 0;let a=0;if(n)a=i[r].handlers.length,i[r]={runs:i[r].runs,handlers:[]};else{const t=i[r].handlers;for(let e=t.length-1;e>=0;e--)t[e].namespace===o&&(t.splice(e,1),a++,i.__current.forEach(t=>{t.name===r&&t.currentIndex>=e&&t.currentIndex--}))}return"hookRemoved"!==r&&t.doAction("hookRemoved",r,o),a}}var F=$;function T(t,e){return function(n,r){const o=t[e];return"undefined"!==typeof r?n in o&&o[n].handlers.some(t=>t.namespace===r):n in o}}var M=T;function L(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){const o=t[e];o[r]||(o[r]={handlers:[],runs:0}),o[r].runs++;const i=o[r].handlers;for(var a=arguments.length,s=new Array(a>1?a-1:0),c=1;c>>24)|4278255360&(s[d]<<24|s[d]>>>8);s[c>>>5]|=128<>>9<<4)]=c;var h=a._ff,v=a._gg,g=a._hh,b=a._ii;for(d=0;d>>0,l=l+y>>>0,f=f+x>>>0,p=p+_>>>0}return e.endian([u,l,f,p])};a._ff=function(t,e,n,r,o,i,a){var s=t+(e&n|~e&r)+(o>>>0)+a;return(s<>>32-i)+e},a._gg=function(t,e,n,r,o,i,a){var s=t+(e&r|n&~r)+(o>>>0)+a;return(s<>>32-i)+e},a._hh=function(t,e,n,r,o,i,a){var s=t+(e^n^r)+(o>>>0)+a;return(s<>>32-i)+e},a._ii=function(t,e,n,r,o,i,a){var s=t+(n^(e|~r))+(o>>>0)+a;return(s<>>32-i)+e},a._blocksize=16,a._digestsize=16,t.exports=function(t,n){if(void 0===t||null===t)throw new Error("Illegal argument "+t);var r=e.wordsToBytes(a(t,n));return n&&n.asBytes?r:n&&n.asString?i.bytesToString(r):e.bytesToHex(r)}})()},"6ac0":function(t,e){function n(t,e,n,r){var o=-1,i=null==t?0:t.length;r&&i&&(n=t[++o]);while(++o=0&&(e=t.slice(r),t=t.slice(0,r));var o=t.indexOf("?");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{path:t,query:n,hash:e}}function E(t){return t.replace(/\/+/g,"/")}var $=Array.isArray||function(t){return"[object Array]"==Object.prototype.toString.call(t)},F=Z,T=D,M=I,L=H,P=K,R=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function D(t,e){var n,r=[],o=0,i=0,a="",s=e&&e.delimiter||"/";while(null!=(n=R.exec(t))){var c=n[0],u=n[1],l=n.index;if(a+=t.slice(i,l),i=l+c.length,u)a+=u[1];else{var f=t[i],p=n[2],d=n[3],h=n[4],v=n[5],g=n[6],b=n[7];a&&(r.push(a),a="");var m=null!=p&&null!=f&&f!==p,y="+"===g||"*"===g,x="?"===g||"*"===g,_=n[2]||s,w=h||v;r.push({name:d||o++,prefix:p||"",delimiter:_,optional:x,repeat:y,partial:m,asterisk:!!b,pattern:w?U(w):b?".*":"[^"+z(_)+"]+?"})}}return i1||!k.length)return 0===k.length?t():t("span",{},k)}if("a"===this.tag)C.on=w,C.attrs={href:c,"aria-current":m};else{var O=at(this.$slots.default);if(O){O.isStatic=!1;var A=O.data=r({},O.data);for(var j in A.on=A.on||{},A.on){var S=A.on[j];j in w&&(A.on[j]=Array.isArray(S)?S:[S])}for(var E in w)E in A.on?A.on[E].push(w[E]):A.on[E]=x;var $=O.data.attrs=r({},O.data.attrs);$.href=c,$["aria-current"]=m}else C.on=w}return t(this.tag,C,this.$slots.default)}};function it(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&(void 0===t.button||0===t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){var e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function at(t){if(t)for(var e,n=0;n-1&&(s.params[f]=n.params[f]);return s.path=Y(u.path,s.params,'named route "'+c+'"'),p(u,s,a)}if(s.path){s.params={};for(var d=0;d=t.length?n():t[o]?e(t[o],(function(){r(o+1)})):r(o+1)};r(0)}var It={redirected:2,aborted:4,cancelled:8,duplicated:16};function Nt(t,e){return Ut(t,e,It.redirected,'Redirected when going from "'+t.fullPath+'" to "'+qt(e)+'" via a navigation guard.')}function Bt(t,e){var n=Ut(t,e,It.duplicated,'Avoided redundant navigation to current location: "'+t.fullPath+'".');return n.name="NavigationDuplicated",n}function Ht(t,e){return Ut(t,e,It.cancelled,'Navigation cancelled from "'+t.fullPath+'" to "'+e.fullPath+'" with a new navigation.')}function zt(t,e){return Ut(t,e,It.aborted,'Navigation aborted from "'+t.fullPath+'" to "'+e.fullPath+'" via a navigation guard.')}function Ut(t,e,n,r){var o=new Error(r);return o._isRouter=!0,o.from=t,o.to=e,o.type=n,o}var Vt=["params","query","hash"];function qt(t){if("string"===typeof t)return t;if("path"in t)return t.path;var e={};return Vt.forEach((function(n){n in t&&(e[n]=t[n])})),JSON.stringify(e,null,2)}function Gt(t){return Object.prototype.toString.call(t).indexOf("Error")>-1}function Wt(t,e){return Gt(t)&&t._isRouter&&(null==e||t.type===e)}function Xt(t){return function(e,n,r){var o=!1,i=0,a=null;Kt(t,(function(t,e,n,s){if("function"===typeof t&&void 0===t.cid){o=!0,i++;var c,u=Qt((function(e){Yt(e)&&(e=e.default),t.resolved="function"===typeof e?e:tt.extend(e),n.components[s]=e,i--,i<=0&&r()})),l=Qt((function(t){var e="Failed to resolve async component "+s+": "+t;a||(a=Gt(t)?t:new Error(e),r(a))}));try{c=t(u,l)}catch(p){l(p)}if(c)if("function"===typeof c.then)c.then(u,l);else{var f=c.component;f&&"function"===typeof f.then&&f.then(u,l)}}})),o||r()}}function Kt(t,e){return Zt(t.map((function(t){return Object.keys(t.components).map((function(n){return e(t.components[n],t.instances[n],t,n)}))})))}function Zt(t){return Array.prototype.concat.apply([],t)}var Jt="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag;function Yt(t){return t.__esModule||Jt&&"Module"===t[Symbol.toStringTag]}function Qt(t){var e=!1;return function(){var n=[],r=arguments.length;while(r--)n[r]=arguments[r];if(!e)return e=!0,t.apply(this,n)}}var te=function(t,e){this.router=t,this.base=ee(e),this.current=g,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function ee(t){if(!t)if(ct){var e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^https?:\/\/[^\/]+/,"")}else t="/";return"/"!==t.charAt(0)&&(t="/"+t),t.replace(/\/$/,"")}function ne(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n0)){var e=this.router,n=e.options.scrollBehavior,r=Lt&&n;r&&this.listeners.push(wt());var o=function(){var n=t.current,o=fe(t.base);t.current===g&&o===t._startLocation||t.transitionTo(o,(function(t){r&&Ct(e,t,n,!0)}))};window.addEventListener("popstate",o),this.listeners.push((function(){window.removeEventListener("popstate",o)}))}},e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,n){var r=this,o=this,i=o.current;this.transitionTo(t,(function(t){Pt(E(r.base+t.fullPath)),Ct(r.router,t,i,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this,o=this,i=o.current;this.transitionTo(t,(function(t){Rt(E(r.base+t.fullPath)),Ct(r.router,t,i,!1),e&&e(t)}),n)},e.prototype.ensureURL=function(t){if(fe(this.base)!==this.current.fullPath){var e=E(this.base+this.current.fullPath);t?Pt(e):Rt(e)}},e.prototype.getCurrentLocation=function(){return fe(this.base)},e}(te);function fe(t){var e=window.location.pathname,n=e.toLowerCase(),r=t.toLowerCase();return!t||n!==r&&0!==n.indexOf(E(r+"/"))||(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}var pe=function(t){function e(e,n,r){t.call(this,e,n),r&&de(this.base)||he()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router,n=e.options.scrollBehavior,r=Lt&&n;r&&this.listeners.push(wt());var o=function(){var e=t.current;he()&&t.transitionTo(ve(),(function(n){r&&Ct(t.router,n,e,!0),Lt||me(n.fullPath)}))},i=Lt?"popstate":"hashchange";window.addEventListener(i,o),this.listeners.push((function(){window.removeEventListener(i,o)}))}},e.prototype.push=function(t,e,n){var r=this,o=this,i=o.current;this.transitionTo(t,(function(t){be(t.fullPath),Ct(r.router,t,i,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this,o=this,i=o.current;this.transitionTo(t,(function(t){me(t.fullPath),Ct(r.router,t,i,!1),e&&e(t)}),n)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;ve()!==e&&(t?be(e):me(e))},e.prototype.getCurrentLocation=function(){return ve()},e}(te);function de(t){var e=fe(t);if(!/^\/#/.test(e))return window.location.replace(E(t+"/#"+e)),!0}function he(){var t=ve();return"/"===t.charAt(0)||(me("/"+t),!1)}function ve(){var t=window.location.href,e=t.indexOf("#");return e<0?"":(t=t.slice(e+1),t)}function ge(t){var e=window.location.href,n=e.indexOf("#"),r=n>=0?e.slice(0,n):e;return r+"#"+t}function be(t){Lt?Pt(ge(t)):window.location.hash=t}function me(t){Lt?Rt(ge(t)):window.location.replace(ge(t))}var ye=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)}),n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,(function(){var t=e.current;e.index=n,e.updateRoute(r),e.router.afterHooks.forEach((function(e){e&&e(r,t)}))}),(function(t){Wt(t,It.duplicated)&&(e.index=n)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(te),xe=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=dt(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!Lt&&!1!==t.fallback,this.fallback&&(e="hash"),ct||(e="abstract"),this.mode=e,e){case"history":this.history=new le(this,t.base);break;case"hash":this.history=new pe(this,t.base,this.fallback);break;case"abstract":this.history=new ye(this,t.base);break;default:0}},_e={currentRoute:{configurable:!0}};function we(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function Ce(t,e,n){var r="hash"===n?"#"+e:e;return t?E(t+"/"+r):r}xe.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},_e.currentRoute.get=function(){return this.history&&this.history.current},xe.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var n=e.apps.indexOf(t);n>-1&&e.apps.splice(n,1),e.app===t&&(e.app=e.apps[0]||null),e.app||e.history.teardown()})),!this.app){this.app=t;var n=this.history;if(n instanceof le||n instanceof pe){var r=function(t){var r=n.current,o=e.options.scrollBehavior,i=Lt&&o;i&&"fullPath"in t&&Ct(e,t,r,!1)},o=function(t){n.setupListeners(),r(t)};n.transitionTo(n.getCurrentLocation(),o,o)}n.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},xe.prototype.beforeEach=function(t){return we(this.beforeHooks,t)},xe.prototype.beforeResolve=function(t){return we(this.resolveHooks,t)},xe.prototype.afterEach=function(t){return we(this.afterHooks,t)},xe.prototype.onReady=function(t,e){this.history.onReady(t,e)},xe.prototype.onError=function(t){this.history.onError(t)},xe.prototype.push=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!==typeof Promise)return new Promise((function(e,n){r.history.push(t,e,n)}));this.history.push(t,e,n)},xe.prototype.replace=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!==typeof Promise)return new Promise((function(e,n){r.history.replace(t,e,n)}));this.history.replace(t,e,n)},xe.prototype.go=function(t){this.history.go(t)},xe.prototype.back=function(){this.go(-1)},xe.prototype.forward=function(){this.go(1)},xe.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},xe.prototype.resolve=function(t,e,n){e=e||this.history.current;var r=Q(t,e,n,this),o=this.match(r,e),i=o.redirectedFrom||o.fullPath,a=this.history.base,s=Ce(a,i,this.mode);return{location:r,route:o,href:s,normalizedTo:r,resolved:o}},xe.prototype.getRoutes=function(){return this.matcher.getRoutes()},xe.prototype.addRoute=function(t,e){this.matcher.addRoute(t,e),this.history.current!==g&&this.history.transitionTo(this.history.getCurrentLocation())},xe.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==g&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(xe.prototype,_e),xe.install=st,xe.version="3.5.3",xe.isNavigationFailure=Wt,xe.NavigationFailureType=It,xe.START_LOCATION=g,ct&&window.Vue&&window.Vue.use(xe),e["a"]=xe},"8eaa":function(t,e,n){"use strict";var r=n("561c");function o(t){const e=(t,n)=>{const{headers:r={}}=t;for(const o in r)if("x-wp-nonce"===o.toLowerCase()&&r[o]===e.nonce)return n(t);return n({...t,headers:{...r,"X-WP-Nonce":e.nonce}})};return e.nonce=t,e}var i=o;const a=(t,e)=>{let n,r,o=t.path;return"string"===typeof t.namespace&&"string"===typeof t.endpoint&&(n=t.namespace.replace(/^\/|\/$/g,""),r=t.endpoint.replace(/^\//,""),o=r?n+"/"+r:n),delete t.namespace,delete t.endpoint,e({...t,path:o})};var s=a;const c=t=>(e,n)=>s(e,e=>{let r,o=e.url,i=e.path;return"string"===typeof i&&(r=t,-1!==t.indexOf("?")&&(i=i.replace("?","&")),i=i.replace(/^\//,""),"string"===typeof r&&-1!==r.indexOf("?")&&(i=i.replace("?","&")),o=r+i),n({...e,url:o})});var u=c;function l(t){const e=t.split("?"),n=e[1],r=e[0];return n?r+"?"+n.split("&").map(t=>t.split("=")).sort((t,e)=>t[0].localeCompare(e[0])).map(t=>t.join("=")).join("&"):r}function f(t){let e;try{e=new URL(t,"http://example.com").search.substring(1)}catch(n){}if(e)return e}function p(t,e,n){const r=e.length,o=r-1;for(let i=0;i{const[n,r=""]=e.split("=").filter(Boolean).map(decodeURIComponent);if(n){const e=n.replace(/\]/g,"").split("[");p(t,e,r)}return t},{})}function h(t,e){return d(t)[e]}function v(t){const e=Object.keys(t).reduce((e,n)=>(e[l(n)]=t[n],e),{});return(t,n)=>{const{parse:r=!0}=t;let o=t.path;if(!o&&t.url){const e=h(t.url,"rest_route");"string"===typeof e&&(o=e)}if("string"===typeof o){const n=t.method||"GET",i=l(o);if("GET"===n&&e[i]){const t=e[i];return delete e[i],Promise.resolve(r?t.body:new window.Response(JSON.stringify(t.body),{status:200,statusText:"OK",headers:t.headers}))}if("OPTIONS"===n&&e[n]&&e[n][i]){const t=e[n][i];return delete e[n][i],Promise.resolve(r?t.body:t)}}return n(t)}}var g=v;function b(t){let e="";const n=Object.entries(t);let r;while(r=n.shift()){let[t,o]=r;const i=Array.isArray(o)||o&&o.constructor===Object;if(i){const e=Object.entries(o).reverse();for(const[r,o]of e)n.unshift([`${t}[${r}]`,o])}else void 0!==o&&(null===o&&(o=""),e+="&"+[t,o].map(encodeURIComponent).join("="))}return e.substr(1)}function m(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1?arguments[1]:void 0;if(!e||!Object.keys(e).length)return t;let n=t;const r=t.indexOf("?");return-1!==r&&(e=Object.assign(d(t),e),n=n.substr(0,r)),n+"?"+b(e)}const y=(t,e)=>{let{path:n,url:r,...o}=t;return{...o,url:r&&m(r,e),path:n&&m(n,e)}},x=t=>t.json?t.json():Promise.reject(t),_=t=>{if(!t)return{};const e=t.match(/<([^>]+)>; rel="next"/);return e?{next:e[1]}:{}},w=t=>{const{next:e}=_(t.headers.get("link"));return e},C=t=>{const e=!!t.path&&-1!==t.path.indexOf("per_page=-1"),n=!!t.url&&-1!==t.url.indexOf("per_page=-1");return e||n},k=async(t,e)=>{if(!1===t.parse)return e(t);if(!C(t))return e(t);const n=await K({...y(t,{per_page:100}),parse:!1}),r=await x(n);if(!Array.isArray(r))return r;let o=w(n);if(!o)return r;let i=[].concat(r);while(o){const e=await K({...t,path:void 0,url:o,parse:!1}),n=await x(e);i=i.concat(n),o=w(e)}return i};var O=k;const A=new Set(["PATCH","PUT","DELETE"]),j="GET",S=(t,e)=>{const{method:n=j}=t;return A.has(n.toUpperCase())&&(t={...t,headers:{...t.headers,"X-HTTP-Method-Override":n,"Content-Type":"application/json"},method:"POST"}),e(t)};var E=S;function $(t,e){return void 0!==h(t,e)}const F=(t,e)=>("string"!==typeof t.url||$(t.url,"_locale")||(t.url=m(t.url,{_locale:"user"})),"string"!==typeof t.path||$(t.path,"_locale")||(t.path=m(t.path,{_locale:"user"})),e(t));var T=F;const M=function(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e?204===t.status?null:t.json?t.json():Promise.reject(t):t},L=t=>{const e={code:"invalid_json",message:Object(r["__"])("The response is not a valid JSON response.")};if(!t||!t.json)throw e;return t.json().catch(()=>{throw e})},P=function(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Promise.resolve(M(t,e)).catch(t=>R(t,e))};function R(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!e)throw t;return L(t).then(t=>{const e={code:"unknown_error",message:Object(r["__"])("An unknown error occurred.")};throw t||e})}function D(t){const e=!!t.method&&"POST"===t.method,n=!!t.path&&-1!==t.path.indexOf("/wp/v2/media")||!!t.url&&-1!==t.url.indexOf("/wp/v2/media");return n&&e}const I=(t,e)=>{if(!D(t))return e(t);let n=0;const o=5,i=t=>(n++,e({path:`/wp/v2/media/${t}/post-process`,method:"POST",data:{action:"create-image-subsizes"},parse:!1}).catch(()=>n{const n=e.headers.get("x-wp-upload-attachment-id");return e.status>=500&&e.status<600&&n?i(n).catch(()=>!1!==t.parse?Promise.reject({code:"post_process",message:Object(r["__"])("Media upload failed. If this is a photo or a large image, please scale it down and try again.")}):Promise.reject(e)):R(e,t.parse)}).then(e=>P(e,t.parse))};var N=I;const B={Accept:"application/json, */*;q=0.1"},H={credentials:"include"},z=[T,s,E,O];function U(t){z.unshift(t)}const V=t=>{if(t.status>=200&&t.status<300)return t;throw t},q=t=>{const{url:e,path:n,data:o,parse:i=!0,...a}=t;let{body:s,headers:c}=t;c={...B,...c},o&&(s=JSON.stringify(o),c["Content-Type"]="application/json");const u=window.fetch(e||n||window.location.href,{...H,...a,body:s,headers:c});return u.then(t=>Promise.resolve(t).then(V).catch(t=>R(t,i)).then(t=>P(t,i)),t=>{if(t&&"AbortError"===t.name)throw t;throw{code:"fetch_error",message:Object(r["__"])("You are probably offline.")}})};let G=q;function W(t){G=t}function X(t){const e=z.reduceRight((t,e)=>n=>e(n,t),G);return e(t).catch(e=>"rest_cookie_invalid_nonce"!==e.code?Promise.reject(e):window.fetch(X.nonceEndpoint).then(V).then(t=>t.text()).then(e=>(X.nonceMiddleware.nonce=e,X(t))))}X.use=U,X.setFetchHandler=W,X.createNonceMiddleware=i,X.createPreloadingMiddleware=g,X.createRootURLMiddleware=u,X.fetchAllMiddleware=O,X.mediaUploadMiddleware=N;var K=e["a"]=X},9835:function(t,e,n){"use strict";var r=n("b50e"),o=n("77f9");function i(t,e,n){var i=Object(r["a"])(t),a=[o["d"],o["i"]].indexOf(i)>=0?-1:1,s="function"===typeof n?n(Object.assign({},e,{placement:t})):n,c=s[0],u=s[1];return c=c||0,u=(u||0)*a,[o["d"],o["g"]].indexOf(i)>=0?{x:u,y:c}:{x:c,y:u}}function a(t){var e=t.state,n=t.options,r=t.name,a=n.offset,s=void 0===a?[0,0]:a,c=o["f"].reduce((function(t,n){return t[n]=i(n,e.rects,s),t}),{}),u=c[e.placement],l=u.x,f=u.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=f),e.modifiersData[r]=c}e["a"]={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:a}},"9a63":function(t,e){var n={utf8:{stringToBytes:function(t){return n.bin.stringToBytes(unescape(encodeURIComponent(t)))},bytesToString:function(t){return decodeURIComponent(escape(n.bin.bytesToString(t)))}},bin:{stringToBytes:function(t){for(var e=[],n=0;n=0?"x":"y"}n.d(e,"a",(function(){return r}))},b20a:function(t,e,n){var r=n("6ac0"),o=n("4caa"),i=n("ea72"),a="['’]",s=RegExp(a,"g");function c(t){return function(e){return r(i(o(e).replace(s,"")),t,"")}}t.exports=c},b50e:function(t,e,n){"use strict";function r(t){return t.split("-")[0]}n.d(e,"a",(function(){return r}))},b519:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n("1fc0");function o(t){return Object(r["a"])(t).getComputedStyle(t)}},b62b:function(t,e,n){"use strict";n.d(e,"a",(function(){return f}));var r=n("1fc0"),o=n("5788"),i=n("b519"),a=n("2767");function s(t){return["table","td","th"].indexOf(Object(o["a"])(t))>=0}var c=n("28bf");function u(t){return Object(a["b"])(t)&&"fixed"!==Object(i["a"])(t).position?t.offsetParent:null}function l(t){var e=-1!==navigator.userAgent.toLowerCase().indexOf("firefox"),n=-1!==navigator.userAgent.indexOf("Trident");if(n&&Object(a["b"])(t)){var r=Object(i["a"])(t);if("fixed"===r.position)return null}var s=Object(c["a"])(t);Object(a["c"])(s)&&(s=s.host);while(Object(a["b"])(s)&&["html","body"].indexOf(Object(o["a"])(s))<0){var u=Object(i["a"])(s);if("none"!==u.transform||"none"!==u.perspective||"paint"===u.contain||-1!==["transform","perspective"].indexOf(u.willChange)||e&&"filter"===u.willChange||e&&u.filter&&"none"!==u.filter)return s;s=s.parentNode}return null}function f(t){var e=Object(r["a"])(t),n=u(t);while(n&&s(n)&&"static"===Object(i["a"])(n).position)n=u(n);return n&&("html"===Object(o["a"])(n)||"body"===Object(o["a"])(n)&&"static"===Object(i["a"])(n).position)?e:n||l(t)||e}},bba4:function(t,e,n){var r=n("e9a7"),o=n("b20a"),i=o((function(t,e,n){return e=e.toLowerCase(),t+(n?r(e):e)}));t.exports=i},c32f:function(t,e,n){var r=n("2b10");function o(t,e,n){var o=t.length;return n=void 0===n?o:n,!e&&n>=o?t:r(t,e,n)}t.exports=o},c345:function(t,e,n){(function(e){!function(e,n){t.exports=n()}("undefined"!=typeof self&&self,(function(){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=60)}([function(t,e){function n(t,e){var n=t[1]||"",o=t[3];if(!o)return n;if(e&&"function"==typeof btoa){var i=r(o);return[n].concat(o.sources.map((function(t){return"/*# sourceURL="+o.sourceRoot+t+" */"}))).concat([i]).join("\n")}return[n].join("\n")}function r(t){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r=n(e,t);return e[2]?"@media "+e[2]+"{"+r+"}":r})).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var r={},o=0;on.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(o=0;o0?(0,i.default)(t.hex):t&&t.hsv?(0,i.default)(t.hsv):t&&t.rgba?(0,i.default)(t.rgba):t&&t.rgb?(0,i.default)(t.rgb):(0,i.default)(t))||void 0!==n._a&&null!==n._a||n.setAlpha(r||1);var o=n.toHsl(),a=n.toHsv();return 0===o.s&&(a.h=o.h=t.h||t.hsl&&t.hsl.h||e||0),{hsl:o,hex:n.toHexString().toUpperCase(),hex8:n.toHex8String().toUpperCase(),rgba:n.toRgb(),hsv:a,oldHue:t.h||e||o.h,source:t.source,a:t.a||n.getAlpha()}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(65),i=function(t){return t&&t.__esModule?t:{default:t}}(o);e.default={props:["value"],data:function(){return{val:r(this.value)}},computed:{colors:{get:function(){return this.val},set:function(t){this.val=t,this.$emit("input",t)}}},watch:{value:function(t){this.val=r(t)}},methods:{colorChange:function(t,e){this.oldHue=this.colors.hsl.h,this.colors=r(t,e||this.oldHue)},isValidHex:function(t){return(0,i.default)(t).isValid()},simpleCheckForValidColor:function(t){for(var e=["r","g","b","a","h","s","l","v"],n=0,r=0,o=0;o0?r:n)(t)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){var r=n(12);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports={}},function(t,e,n){var r=n(46),o=n(30);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e,n){var r=n(29)("keys"),o=n(19);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e,n){var r=n(15),o=n(4),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n(14)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(8).f,o=n(6),i=n(11)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},function(t,e,n){e.f=n(11)},function(t,e,n){var r=n(4),o=n(15),i=n(14),a=n(32),s=n(8).f;t.exports=function(t){var e=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||s(e,t,{value:a.f(t)})}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(3),i=r(o),a=n(5),s=r(a),c=["#4D4D4D","#999999","#FFFFFF","#F44E3B","#FE9200","#FCDC00","#DBDF00","#A4DD00","#68CCCA","#73D8FF","#AEA1FF","#FDA1FF","#333333","#808080","#CCCCCC","#D33115","#E27300","#FCC400","#B0BC00","#68BC00","#16A5A5","#009CE0","#7B64FF","#FA28FF","#000000","#666666","#B3B3B3","#9F0500","#C45100","#FB9E00","#808900","#194D33","#0C797D","#0062B1","#653294","#AB149E"];e.default={name:"Compact",mixins:[i.default],props:{palette:{type:Array,default:function(){return c}}},components:{"ed-in":s.default},computed:{pick:function(){return this.colors.hex.toUpperCase()}},methods:{handlerClick:function(t){this.colorChange({hex:t,source:"hex"})}}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"editableInput",props:{label:String,labelText:String,desc:String,value:[String,Number],max:Number,min:Number,arrowOffset:{type:Number,default:1}},computed:{val:{get:function(){return this.value},set:function(t){if(!(void 0!==this.max&&+t>this.max))return t;this.$refs.input.value=this.max}},labelId:function(){return"input__label__"+this.label+"__"+Math.random().toString().slice(2,5)},labelSpanText:function(){return this.labelText||this.label}},methods:{update:function(t){this.handleChange(t.target.value)},handleChange:function(t){var e={};e[this.label]=t,(void 0===e.hex&&void 0===e["#"]||t.length>5)&&this.$emit("change",e)},handleKeyDown:function(t){var e=this.val,n=Number(e);if(n){var r=this.arrowOffset||1;38===t.keyCode&&(e=n+r,this.handleChange(e),t.preventDefault()),40===t.keyCode&&(e=n-r,this.handleChange(e),t.preventDefault())}}}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(3),o=function(t){return t&&t.__esModule?t:{default:t}}(r),i=["#FFFFFF","#F2F2F2","#E6E6E6","#D9D9D9","#CCCCCC","#BFBFBF","#B3B3B3","#A6A6A6","#999999","#8C8C8C","#808080","#737373","#666666","#595959","#4D4D4D","#404040","#333333","#262626","#0D0D0D","#000000"];e.default={name:"Grayscale",mixins:[o.default],props:{palette:{type:Array,default:function(){return i}}},components:{},computed:{pick:function(){return this.colors.hex.toUpperCase()}},methods:{handlerClick:function(t){this.colorChange({hex:t,source:"hex"})}}}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(5),i=r(o),a=n(3),s=r(a);e.default={name:"Material",mixins:[s.default],components:{"ed-in":i.default},methods:{onChange:function(t){t&&(t.hex?this.isValidHex(t.hex)&&this.colorChange({hex:t.hex,source:"hex"}):(t.r||t.g||t.b)&&this.colorChange({r:t.r||this.colors.rgba.r,g:t.g||this.colors.rgba.g,b:t.b||this.colors.rgba.b,a:t.a||this.colors.rgba.a,source:"rgba"}))}}}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(81),i=r(o),a=n(3),s=r(a),c=n(13),u=r(c);e.default={name:"Slider",mixins:[s.default],props:{swatches:{type:Array,default:function(){return[{s:.5,l:.8},{s:.5,l:.65},{s:.5,l:.5},{s:.5,l:.35},{s:.5,l:.2}]}}},components:{hue:u.default},computed:{normalizedSwatches:function(){return this.swatches.map((function(t){return"object"!==(void 0===t?"undefined":(0,i.default)(t))?{s:.5,l:t}:t}))}},methods:{isActive:function(t,e){var n=this.colors.hsl;return 1===n.l&&1===t.l||0===n.l&&0===t.l||Math.abs(n.l-t.l)<.01&&Math.abs(n.s-t.s)<.01},hueChange:function(t){this.colorChange(t)},handleSwClick:function(t,e){this.colorChange({h:this.colors.hsl.h,s:e.s,l:e.l,source:"hsl"})}}}},function(t,e,n){"use strict";var r=n(14),o=n(41),i=n(44),a=n(7),s=n(26),c=n(88),u=n(31),l=n(95),f=n(11)("iterator"),p=!([].keys&&"next"in[].keys()),d=function(){return this};t.exports=function(t,e,n,h,v,g,b){c(n,e,h);var m,y,x,_=function(t){if(!p&&t in O)return O[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},w=e+" Iterator",C="values"==v,k=!1,O=t.prototype,A=O[f]||O["@@iterator"]||v&&O[v],j=A||_(v),S=v?C?_("entries"):j:void 0,E="Array"==e&&O.entries||A;if(E&&(x=l(E.call(new t)))!==Object.prototype&&x.next&&(u(x,w,!0),r||"function"==typeof x[f]||a(x,f,d)),C&&A&&"values"!==A.name&&(k=!0,j=function(){return A.call(this)}),r&&!b||!p&&!k&&O[f]||a(O,f,j),s[e]=j,s[w]=d,v)if(m={values:C?j:_("values"),keys:g?j:_("keys"),entries:S},b)for(y in m)y in O||i(O,y,m[y]);else o(o.P+o.F*(p||k),e,m);return m}},function(t,e,n){var r=n(4),o=n(15),i=n(86),a=n(7),s=n(6),c=function(t,e,n){var u,l,f,p=t&c.F,d=t&c.G,h=t&c.S,v=t&c.P,g=t&c.B,b=t&c.W,m=d?o:o[e]||(o[e]={}),y=m.prototype,x=d?r:h?r[e]:(r[e]||{}).prototype;for(u in d&&(n=e),n)(l=!p&&x&&void 0!==x[u])&&s(m,u)||(f=l?x[u]:n[u],m[u]=d&&"function"!=typeof x[u]?n[u]:g&&l?i(f,r):b&&x[u]==f?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(f):v&&"function"==typeof f?i(Function.call,f):f,v&&((m.virtual||(m.virtual={}))[u]=f,t&c.R&&y&&!y[u]&&a(y,u,f)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},function(t,e,n){t.exports=!n(9)&&!n(17)((function(){return 7!=Object.defineProperty(n(43)("div"),"a",{get:function(){return 7}}).a}))},function(t,e,n){var r=n(12),o=n(4).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e,n){t.exports=n(7)},function(t,e,n){var r=n(16),o=n(89),i=n(30),a=n(28)("IE_PROTO"),s=function(){},c=function(){var t,e=n(43)("iframe"),r=i.length;for(e.style.display="none",n(94).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(" namespace, '/' . $this->rest_base, array( array( 'methods' => WP_REST_Server::CREATABLE, 'callback' => array( $this, 'update_item' ), 'permission_callback' => array( $this, 'create_item_permissions_check' ), 'args' => $this->get_endpoint_args_for_item_schema( WP_REST_Server::CREATABLE ), ), 'schema' => array( $this, 'get_public_item_schema' ), ) ); register_rest_route( $this->namespace, '/' . $this->rest_base . '/available/', array( array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_available_items' ), 'permission_callback' => array( $this, 'get_items_permissions_check' ), 'args' => $this->get_collection_params(), ), 'schema' => array( $this, 'get_public_item_schema' ), ) ); } /** * Get a collection of available languages. * * @since 3.0.0 * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|WP_REST_Response */ public function get_available_items( $request ) { $objects = array(); $items = Controller::get_instance()->get_languages(); $data = array(); foreach ( $items as $language => $code ) { $data = array( 'code' => $code, 'name' => $language, ); $data = $this->prepare_item_for_response( $data, $request ); $objects[] = $this->prepare_response_for_collection( $data ); } return rest_ensure_response( $objects ); } /** * Format data to provide output to API * * @param object $object Object of the corresponding item Cookie or Cookie_Categories. * @param array $request Request params. * @return array */ public function prepare_item_for_response( $object, $request ) { $context = ! empty( $request['context'] ) ? $request['context'] : 'view'; $data = $this->add_additional_fields_to_object( $object, $request ); $data = $this->filter_response_by_context( $data, $context ); return rest_ensure_response( $data ); } /** * Get the Consent logs's schema, conforming to JSON Schema. * * @return array */ public function get_item_schema() { $schema = array( '$schema' => 'http://json-schema.org/draft-04/schema#', 'title' => 'consentlogs', 'type' => 'object', 'properties' => array( 'id' => array( 'description' => __( 'Unique identifier for the resource.', 'cookie-law-info' ), 'type' => 'integer', 'context' => array( 'view' ), 'readonly' => true, ), 'language' => array( 'description' => __( 'Name of the language.', 'cookie-law-info' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), ), 'native_name' => array( 'description' => __( 'Native name of the language.', 'cookie-law-info' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), ), 'lang' => array( 'description' => __( 'Language code', 'cookie-law-info' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), ), ), ); return $this->add_additional_fields_schema( $schema ); } } // End the class. admin/modules/languages/class-languages.php000064400000003111150514563140015034 0ustar00load_apis(); add_filter( 'cky_admin_scripts_languages', array( $controller, 'load_config' ) ); add_filter( 'cky_registered_admin_menus', array( $this, 'register_menus' ) ); } /** * Load API files * * @return void */ public function load_apis() { new Api(); } /** * Pass menu items to be registered. * * @param array $menus Sub menu array. * @return array */ public function register_menus( $menus ) { $menus['languages'] = array( 'name' => __( 'Languages', 'cookie-law-info' ), 'callback' => array( $this, 'menu_page_template' ), 'order' => 4, 'redirect' => CKY_APP_URL . '/languages', ); $menus['edit-content'] = array( 'name' => __( 'Languages', 'cookie-law-info' ), 'callback' => array( $this, 'menu_page_template' ), 'order' => 4, 'redirect' => CKY_APP_URL . '/languages', 'hidden' => true, ); return $menus; } /** * Main menu template * * @return void */ public function menu_page_template() { echo '
'; } } admin/modules/languages/includes/class-controller.php000064400000017351150514563140017072 0ustar00languages ) { $this->languages = array( 'Abkhazian' => 'ab', 'Afar' => 'aa', 'Afrikaans' => 'af', 'Akan' => 'ak', 'Albanian' => 'sq', 'Amharic' => 'am', 'Arabic' => 'ar', 'Armenian' => 'hy', 'Assamese' => 'as', 'Avar' => 'av', 'Avestan' => 'ae', 'Aymara' => 'ay', 'Azerbaijani' => 'az', 'Bambara' => 'bm', 'Bashkir' => 'ba', 'Basque' => 'eu', 'Belarusian' => 'be', 'Bengali' => 'bn', 'Bhutani' => 'dz', 'Bihari' => 'bh', 'Bislama' => 'bi', 'Bosnian' => 'bs', 'Breton' => 'br', 'Bulgarian' => 'bg', 'Burmese' => 'my', 'Cambodian' => 'km', 'Catalan' => 'ca', 'Chamorro' => 'ch', 'Chechen' => 'ce', 'Chichewa' => 'ny', 'Chinese (Simplified)' => 'zh-hans', 'Chinese (Traditional)' => 'zh-hant', 'Chuvash' => 'cv', 'Cornish' => 'kw', 'Corsican' => 'co', 'Cree' => 'cr', 'Croatian' => 'hr', 'Czech' => 'cs', 'Danish' => 'da', 'English' => 'en', 'Esperanto' => 'eo', 'Estonian' => 'et', 'Ewe' => 'ee', 'Faeroese' => 'fo', 'Fiji' => 'fj', 'Finnish' => 'fi', 'French' => 'fr', 'Frisian' => 'fy', 'Fulah' => 'ff', 'Galician' => 'gl', 'Georgian' => 'ka', 'German' => 'de', 'Greek' => 'el', 'Greenlandic' => 'kl', 'Guarani' => 'gn', 'Gujarati' => 'gu', 'Hausa' => 'ha', 'Hebrew' => 'he', 'Herero' => 'hz', 'Hindi' => 'hi', 'Hiri Motu' => 'ho', 'Hungarian' => 'hu', 'Icelandic' => 'is', 'Igbo' => 'ig', 'Indonesian' => 'id', 'Interlingua' => 'ia', 'Interlingue' => 'ie', 'Inuktitut' => 'iu', 'Inupiak' => 'ik', 'Irish' => 'ga', 'Italian' => 'it', 'Japanese' => 'ja', 'Javanese' => 'jv', 'Kannada' => 'kn', 'Kanuri' => 'kr', 'Kashmiri' => 'ks', 'Kazakh' => 'kk', 'Kikuyu' => 'ki', 'Kinyarwanda' => 'rw', 'Kirghiz' => 'ky', 'Kirundi' => 'rn', 'Komi' => 'kv', 'Kongo' => 'kg', 'Korean' => 'ko', 'Kurdish' => 'ku', 'Kwanyama' => 'kj', 'Laothian' => 'lo', 'Latvian' => 'lv', 'Lingala' => 'ln', 'Lithuanian' => 'lt', 'Luganda' => 'lg', 'Luxembourgish' => 'lb', 'Macedonian' => 'mk', 'Malagasy' => 'mg', 'Malay' => 'ms', 'Malayalam' => 'ml', 'Maldivian' => 'dv', 'Maltese' => 'mt', 'Manx' => 'gv', 'Maori' => 'mi', 'Marathi' => 'mr', 'Marshallese' => 'mh', 'Moldavian' => 'mo', 'Mongolian' => 'mn', 'Nauru' => 'na', 'Navajo' => 'nv', 'Ndonga' => 'ng', 'Nepali' => 'ne', 'North Ndebele' => 'nd', 'Northern Sami' => 'se', 'Dutch' => 'nl', 'Norwegian Bokmål' => 'no', 'Norwegian Nynorsk' => 'nn', 'Occitan' => 'oc', 'Old Slavonic' => 'cu', 'Oriya' => 'or', 'Oromo' => 'om', 'Ossetian' => 'os', 'Pali' => 'pi', 'Pashto' => 'ps', 'Persian' => 'fa', 'Polish' => 'pl', 'Portuguese, Brazil' => 'pt-br', 'Portuguese, Portugal' => 'pt', 'Punjabi' => 'pa', 'Quechua' => 'qu', 'Rhaeto-Romance' => 'rm', 'Romanian' => 'ro', 'Russian' => 'ru', 'Samoan' => 'sm', 'Sango' => 'sg', 'Sanskrit' => 'sa', 'Sardinian' => 'sc', 'Scots Gaelic' => 'gd', 'Serbian' => 'sr', 'Serbo-Croatian' => 'sh', 'Sesotho' => 'st', 'Setswana' => 'tn', 'Shona' => 'sn', 'Sindhi' => 'sd', 'Singhalese' => 'si', 'Siswati' => 'ss', 'Slavic' => 'sla', 'Slovak' => 'sk', 'Slovenian' => 'sl', 'Somali' => 'so', 'South Ndebele' => 'nr', 'Spanish' => 'es', 'Sudanese' => 'su', 'Swahili' => 'sw', 'Swedish' => 'sv', 'Tagalog' => 'tl', 'Tahitian' => 'ty', 'Tajik' => 'tg', 'Tamil' => 'ta', 'Tatar' => 'tt', 'Telugu' => 'te', 'Thai' => 'th', 'Tibetan' => 'bo', 'Tigrinya' => 'ti', 'Tonga' => 'to', 'Tsonga' => 'ts', 'Turkish' => 'tr', 'Turkmen' => 'tk', 'Twi' => 'tw', 'Uighur' => 'ug', 'Ukrainian' => 'uk', 'Urdu' => 'ur', 'Uzbek' => 'uz', 'Venda' => 've', 'Vietnamese' => 'vi', 'Welsh' => 'cy', 'Wolof' => 'wo', 'Xhosa' => 'xh', 'Yiddish' => 'yi', 'Yoruba' => 'yo', 'Zhuang' => 'za', 'Zulu' => 'zu', ); } return $this->languages; } /** * Localize list of languages. * * @return array */ public function load_config() { $data = array(); foreach ( $this->get_languages() as $language => $code ) { $data[] = array( 'code' => $code, 'name' => $language, ); } return $data; } } admin/modules/upgrade/class-upgrade.php000064400000051606150514563140014212 0ustar00add_migration_notice(); add_action( 'admin_init', array( $this, 'revert' ) ); } /** * Start doing migration * * @return void */ public function migrate() { if ( ! isset( $_GET['_wpnonce'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_GET['_wpnonce'] ) ), 'migrate' ) || ! current_user_can( 'manage_options' ) ) { return; } if ( isset( $_GET['migrate'] ) && 'process' === sanitize_text_field( wp_unslash( $_GET['migrate'] ) ) ) { register_post_type( CLI_POST_TYPE ); register_taxonomy( 'cookielawinfo-category', 'cookielawinfo' ); $this->start_migration(); } } /** * Start migrating * * @return void */ public function start_migration() { require_once CLI_PLUGIN_BASEPATH . 'legacy/includes/class-cookie-law-info.php'; require_once CLI_PLUGIN_BASEPATH . 'legacy/public/modules/shortcode/shortcode.php'; require_once CLI_PLUGIN_BASEPATH . 'legacy/admin/modules/ccpa/ccpa.php'; $this->settings = \Cookie_Law_Info::get_settings(); $this->migrate_settings(); $this->migrate_categories(); $this->migrate_banners(); update_option( 'cky_migration_options', array( 'status' => true, 'expiry' => time() + 14 * DAY_IN_SECONDS, ) ); wp_safe_redirect( admin_url( 'admin.php?page=cookie-law-info' ) ); } /** * Return old plugin items. * * @return array */ public function get_old_category_terms() { global $wp_version; $taxonomy = 'cookielawinfo-category'; $terms = array(); if ( version_compare( $wp_version, '4.9', '>=' ) ) { $args = array( 'taxonomy' => $taxonomy, 'hide_empty' => false, ); $terms = get_terms( $args ); } else { $terms = get_terms( $taxonomy, array( 'hide_empty' => false ) ); } return $this->order_term_by_key( $terms ); } /** * Migrate the cookie categories. * * @return void */ public function migrate_categories() { $this->clear_existing_categories(); $terms = $this->get_old_category_terms(); $lang = cky_default_language(); $languages = cky_i18n_selected_languages(); $default_lang = cky_i18n_default_language(); if ( is_array( $terms ) ) { foreach ( $terms as $term ) { if ( is_object( $term ) ) { $object = new \CookieYes\Lite\Admin\Modules\Cookies\Includes\Cookie_Categories(); $term_language = cky_i18n_term_language( $term->term_id ); if ( $term_language === $default_lang ) { $name = array(); $description = array(); foreach ( $languages as $language ) { $name[ $language ] = $term->name; $description[ $language ] = strip_shortcodes( $term->description ); if ( $default_lang !== $language ) { $translated = cky_i18n_term_by_language( $term->term_id, $language ); if ( false !== $translated ) { $name[ $language ] = isset( $translated->name ) ? $translated->name : ''; $description[ $language ] = isset( $translated->description ) ? strip_shortcodes( $translated->description ) : ''; } } } $object->set_name( $name ); $object->set_description( $description ); $object->set_slug( $term->slug ); if ( 'necessary' === $term->slug ) { $object->set_prior_consent( true ); } $object->save(); $cookies = $this->get_cookies_by_term( $term->slug ); if ( ! empty( $cookies ) ) { foreach ( $cookies as $key => $item ) { $cookie = new \CookieYes\Lite\Admin\Modules\Cookies\Includes\Cookie(); $meta = get_post_custom( $item->ID ); $description = array(); $duration = array(); foreach ( $languages as $language ) { $description[ $language ] = strip_shortcodes( $item->post_content ); $duration[ $language ] = sanitize_text_field( isset( $meta['_cli_cookie_duration'][0] ) ? $meta['_cli_cookie_duration'][0] : '' ); if ( $default_lang !== $language ) { $translated = cky_i18n_post_by_language( $item->ID, $language ); if ( ! $translated ) { continue; } $translated_meta = get_post_custom( $translated->ID ); $duration[ $language ] = sanitize_text_field( ! empty( $translated_meta['_cli_cookie_duration'][0] ) ? $translated_meta['_cli_cookie_duration'][0] : $duration[ $lang ] ); $description[ $language ] = isset( $translated->post_content ) ? strip_shortcodes( $translated->post_content ) : ''; } } $cookie->set_name( $item->post_title ); $cookie->set_description( $description ); $cookie->set_duration( $duration ); $cookie->set_category( $object->get_id() ); $cookie->save(); } } } } } } } /** * Flush existing data from cookie and category table. * * @return void */ public function clear_existing_categories() { global $wpdb; $wpdb->query( "TRUNCATE TABLE {$wpdb->prefix}cky_cookie_categories;" ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery $wpdb->query( "TRUNCATE TABLE {$wpdb->prefix}cky_cookies;" ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery } /** * Get the cookies for corresponding categories. * * @param string $slug Slug of the term. * @return array */ public function get_cookies_by_term( $slug ) { $cookies = array(); $args = array( 'posts_per_page' => -1, 'post_type' => 'cookielawinfo', 'tax_query' => array( array( 'taxonomy' => 'cookielawinfo-category', 'field' => 'slug', 'terms' => $slug, ), ), ); $posts = get_posts( $args ); if ( $posts ) { $cookies = $posts; } return $cookies; } /** * Migrate the site settings * * @return void */ public function migrate_settings() { $settings = new Settings(); $options = $settings->get(); $options['languages']['default'] = cky_i18n_default_language(); $options['languages']['selected'] = cky_i18n_selected_languages(); $settings->update( $options ); } /** * Migrate banner config and contents * * @return void */ public function migrate_banners() { $languages = cky_i18n_selected_languages(); $banners = \CookieYes\Lite\Admin\Modules\Banners\Includes\Controller::get_instance()->get_items(); $old_law = isset( $this->settings['consent_type'] ) ? $this->settings['consent_type'] : 'gdpr'; foreach ( $banners as $key => $item ) { $banner = new \CookieYes\Lite\Admin\Modules\Banners\Includes\Banner( $item->banner_id ); $type = $banner->get_law(); $this->law = $type; $banner->set_status( false ); if ( $type === $old_law || ( 'ccpa_gdpr' === $old_law && 'gdpr' === $type ) ) { $banner->set_status( true ); $contents = array(); foreach ( $languages as $language ) { $contents[ $language ] = $this->prepare_contents( $banner->get_contents( $language ), $language ); } $banner->set_contents( $contents ); $this->skip = false; } elseif ( 'ccpa_gdpr' === $old_law ) { if ( 'gdpr' === $type ) { $banner->set_status( true ); } $this->skip = false; } else { $this->skip = true; } $settings = $this->prepare_config( $banner->get_settings() ); $banner->set_settings( $settings ); $banner->save(); } } /** * Prepare banner config for migration. * * @param array $config Banner config. * @return array */ public function prepare_config( $config = array() ) { $settings = $this->settings; $current_type = isset( $settings['cookie_bar_as'] ) ? sanitize_text_field( $settings['cookie_bar_as'] ) : 'banner'; $position = isset( $settings['notify_position_vertical'] ) ? sanitize_text_field( $settings['notify_position_vertical'] ) : 'bottom-left'; $heading = isset( $settings['bar_heading_text'] ) ? $settings['bar_heading_text'] : ''; $type = 'banner'; if ( 'popup' === $current_type || 'widget' === $current_type ) { $type = 'box'; $position = isset( $settings['widget_position'] ) ? sanitize_text_field( $settings['widget_position'] ) : 'left'; $position = "bottom-{$position}"; } $config['settings']['type'] = $type; $config['settings']['theme'] = 'custom'; $config['settings']['position'] = $position; $background_color = isset( $settings['background'] ) ? cky_sanitize_color( $settings['background'] ) : $config['config']['notice']['styles']['background-color']; $border_color = isset( $settings['border'] ) ? cky_sanitize_color( $settings['border'] ) : $config['config']['notice']['styles']['border-color']; $color = isset( $settings['text'] ) ? cky_sanitize_color( $settings['text'] ) : $config['config']['notice']['styles']['color']; $config['config']['notice']['styles']['background-color'] = $background_color; $config['config']['notice']['styles']['border-color'] = $border_color; $config['config']['notice']['elements']['title']['styles']['color'] = $color; $config['config']['notice']['elements']['description']['styles']['color'] = $color; $config['config']['preferenceCenter']['styles']['background-color'] = $background_color; $config['config']['preferenceCenter']['styles']['border-color'] = $border_color; $buttons_config = isset( $config['config']['notice']['elements']['buttons']['elements'] ) ? $config['config']['notice']['elements']['buttons']['elements'] : array(); if ( ! empty( $buttons_config ) ) { $accept_button = has_shortcode( $settings['notify_message'], 'cookie_accept_all' ) ? 'button_7' : 'button_1'; $buttons_config['accept'] = isset( $buttons_config['accept'] ) ? $this->prepare_buttons( $accept_button, $buttons_config['accept'] ) : array(); $buttons_config['reject'] = isset( $buttons_config['reject'] ) ? $this->prepare_buttons( 'button_3', $buttons_config['reject'] ) : array(); $buttons_config['settings'] = isset( $buttons_config['settings'] ) ? $this->prepare_buttons( 'button_4', $buttons_config['settings'] ) : array(); $buttons_config['donotSell'] = isset( $buttons_config['donotSell'] ) ? $this->prepare_buttons( 'button_6', $buttons_config['donotSell'] ) : array(); $buttons_config['readMore'] = isset( $buttons_config['readMore'] ) ? $this->prepare_buttons( 'button_2', $buttons_config['readMore'] ) : array(); $buttons_config['readMore'] = $this->prepare_readmore( $buttons_config['readMore'] ); $config['config']['notice']['elements']['buttons']['elements'] = $buttons_config; $preference_center = isset( $config['config']['preferenceCenter'] ) ? $config['config']['preferenceCenter'] : array(); $preference_buttons = isset( $preference_center['elements']['buttons']['elements'] ) ? $preference_center['elements']['buttons']['elements'] : array(); $preference_buttons['accept']['styles'] = isset( $buttons_config['accept']['styles'] ) ? $buttons_config['accept']['styles'] : array(); $preference_buttons['reject']['styles'] = isset( $buttons_config['reject']['styles'] ) ? $buttons_config['reject']['styles'] : array(); $preference_buttons['save']['styles'] = isset( $buttons_config['settings']['styles'] ) ? $buttons_config['settings']['styles'] : array(); $config['config']['preferenceCenter']['elements']['buttons']['elements'] = $preference_buttons; } $revisit_options = isset( $config['config']['revisitConsent'] ) ? $config['config']['revisitConsent'] : array(); $config['config']['revisitConsent'] = $this->get_revisit_options( $revisit_options ); return $config; } /** * Prepare the buttons for migration. * * @param string $button Button slug as of old settings. * @param array $config Existing config. * @return array */ public function prepare_buttons( $button = 'button_1', $config = array() ) { $settings = $this->settings; $shortcode = $this->get_shortcode( $button ); if ( false === $this->skip ) { $config['status'] = has_shortcode( $settings['notify_message'], $shortcode ); } if ( 'ccpa' === $this->law && 'button_6' !== $button || 'gdpr' === $this->law && 'button_6' === $button ) { $config['status'] = false; } $config['styles']['background-color'] = isset( $settings[ "{$button}_button_colour" ] ) ? $settings[ "{$button}_button_colour" ] : ''; $config['styles']['color'] = isset( $settings[ "{$button}_link_colour" ] ) ? $settings[ "{$button}_link_colour" ] : ''; $config['styles']['border-color'] = $config['styles']['background-color']; return $config; } /** * Set background and border color transparent. * * @param array $config Existing config. * @return array */ public function prepare_readmore( $config = array() ) { $config['styles']['background-color'] = 'transparent'; $config['styles']['border-color'] = 'transparent'; return $config; } /** * Prepare banner contents for migration. * * @param array $contents Existing contents. * @param string $language Language slug. * @return array */ public function prepare_contents( $contents, $language ) { $settings = $this->settings; $notice = isset( $contents['notice']['elements'] ) ? $contents['notice']['elements'] : array(); $notice['title'] = isset( $settings['bar_heading_text'] ) ? cky_i18n_translate_string( $settings['bar_heading_text'], 'bar_heading_text', $language ) : ''; $notice['description'] = isset( $settings['notify_message'] ) ? wp_strip_all_tags( strip_shortcodes( cky_i18n_translate_string( $settings['notify_message'], 'notify_message', $language ) ) ) : ''; $notice['privacyLink'] = $this->get_readmore_link(); $accept_button = has_shortcode( $settings['notify_message'], 'cookie_accept_all' ) ? 'button_7' : 'button_1'; $notice['buttons']['elements']['accept'] = $this->get_button_text( $accept_button, $language ); $notice['buttons']['elements']['reject'] = $this->get_button_text( 'button_3', $language ); $notice['buttons']['elements']['settings'] = $this->get_button_text( 'button_4', $language ); $notice['buttons']['elements']['readMore'] = $this->get_button_text( 'button_2', $language ); $contents['notice']['elements'] = $notice; // Preference center. $preference = isset( $contents['preferenceCenter']['elements'] ) ? $contents['preferenceCenter']['elements'] : array(); $existing = $this->get_preference_center_texts(); $preference['title'] = cky_i18n_translate_string( $existing['title'], 'privacy_overview_title', $language, 'cookielawinfo_privacy_overview_content_settings' ); $preference['description'] = cky_i18n_translate_string( $existing['description'], 'privacy_overview_content', $language, 'cookielawinfo_privacy_overview_content_settings' ); $preference['buttons']['elements']['accept'] = $this->get_button_text( $accept_button, $language ); $preference['buttons']['elements']['reject'] = $this->get_button_text( 'button_3', $language ); $contents['preferenceCenter']['elements'] = $preference; $contents['revisitConsent']['elements']['title'] = cky_i18n_translate_string( $existing['title'], 'title', $language ); return $contents; } /** * Get button text based on language * * @param string $button Button slug. * @param string $language Language code. * @return string */ public function get_button_text( $button = 'button_1', $language = 'en' ) { $settings = $this->settings; return isset( $settings[ "{$button}_text" ] ) ? cky_i18n_translate_string( $settings[ "{$button}_text" ], "{$button}_text", $language ) : ''; } /** * Return preference center options * * @return array */ public function get_preference_center_texts() { $overview = get_option( 'cookielawinfo_privacy_overview_content_settings' ); $title = sanitize_text_field( stripslashes( isset( $overview['privacy_overview_title'] ) ? $overview['privacy_overview_title'] : '' ) ); $description = wp_kses_post( isset( $overview['privacy_overview_content'] ) ? $overview['privacy_overview_content'] : '' ); return array( 'title' => $title, 'description' => $description, ); } /** * Migrate revisit consent option. * * @param array $options Array of options. * @return array */ public function get_revisit_options( $options = array() ) { $settings = $this->settings; $status = isset( $settings['showagain_tab'] ) ? (bool) $settings['showagain_tab'] : false; $position = isset( $settings['notify_position_horizontal'] ) && 'right' === $settings['notify_position_horizontal'] ? 'bottom-right' : 'bottom-left'; $options['status'] = $status; $options['position'] = $position; return $options; } /** * Map shortcodes to corresponding buttons. * * @param string $button Button slug. * @return string */ public function get_shortcode( $button ) { switch ( $button ) { case 'button_1': return 'cookie_button'; case 'button_2': return 'cookie_link'; case 'button_3': return 'cookie_reject'; case 'button_4': return 'cookie_settings'; case 'button_6': return 'wt_cli_ccpa_optout'; case 'button_7': return 'cookie_accept_all'; default: return 'cookie_button'; } } /** * Reorder the terms based on the priority. * * @param array $terms Terms array. * @param string $order Sorting order. * @return array */ public function order_term_by_key( $terms, $order = 'DESC' ) { $sort_order = SORT_DESC; $meta_values = array(); if ( 'ASC' === $order ) { $sort_order = SORT_ASC; } if ( ! empty( $terms ) && is_array( $terms ) ) { foreach ( $terms as $key => $term ) { $priority = get_term_meta( $term->term_id, 'CLIpriority' ); $meta_values[] = isset( $priority ) ? absint( $priority ) : 0; } if ( ! empty( $meta_values ) && is_array( $meta_values ) ) { array_multisort( $meta_values, $sort_order, $terms ); } } return $terms; } /** * Add a migration notice which allows to revert back to the legacy UI. * * @return void */ public function add_migration_notice() { $options = get_option( 'cky_migration_options', array() ); $status = isset( $options['status'] ) ? $options['status'] : false; $expiry = isset( $options['expiry'] ) ? $options['expiry'] : 0; if ( ! $status || ( 0 !== $expiry && time() > $expiry ) ) { return; } if ( true === $status ) { add_filter( 'cky_admin_scripts_global', function( $config ) { $config['legacyURL'] = esc_attr( wp_nonce_url( add_query_arg( 'revert', 'true', admin_url( 'admin.php?page=cookie-law-info' ) ), 'revert', '_wpnonce' ) ); return $config; } ); $date = date_i18n( 'M d,Y', $expiry ); $notice = Notice::get_instance(); $notice->add( 'migration_notice', array( // translators: %s: Migration notice expiry notice. 'message' => sprintf( __( 'Not satisfied with the New UI and related changes? You can switch back to the old UI at any time until %s.', 'cookie-law-info' ), esc_html( $date ) ), 'type' => 'info', ) ); } } /** * Return the readmore link * * @return string */ private function get_readmore_link() { if ( $this->settings['button_2_url_type'] == 'url' ) { return isset( $this->settings['button_2_url'] ) ? $this->settings['button_2_url'] : ''; } else { $page = isset( $this->settings['button_2_page'] ) ? intval( $this->settings['button_2_page'] ) : false; $privacy = ''; if ( ! $page ) { return ''; } $post = get_post( $page ); if ( $post instanceof \WP_Post ) { if ( 'publish' === $post->post_status ) { $privacy = get_page_link( $post ); } } return $privacy; } } /** * Revert plugin to legacy UI * * @return void */ public function revert() { if ( ! isset( $_GET['_wpnonce'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_GET['_wpnonce'] ) ), 'revert' ) || ! current_user_can( 'manage_options' ) ) { return; } if ( ! isset( $_GET['revert'] ) && 'true' === sanitize_text_field( wp_unslash( $_GET['revert'] ) ) ) { return; } $settings = new Settings(); $options = $settings->get(); $options['api']['token'] = ''; $options['account']['connected'] = false; $settings->update( $options ); delete_option( 'cky_cookie_consent_lite_db_version' ); wp_safe_redirect( admin_url( 'edit.php?post_type=cookielawinfo&page=cookie-law-info' ) ); } } admin/modules/cookies/api/class-cookies-api.php000064400000014477150514563140015551 0ustar00namespace, '/' . $this->rest_base, array( array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_items' ), 'permission_callback' => array( $this, 'get_items_permissions_check' ), 'args' => $this->get_collection_params(), ), array( 'methods' => WP_REST_Server::CREATABLE, 'callback' => array( $this, 'create_item' ), 'permission_callback' => array( $this, 'create_item_permissions_check' ), 'args' => $this->get_endpoint_args_for_item_schema( WP_REST_Server::CREATABLE ), ), 'schema' => array( $this, 'get_public_item_schema' ), ) ); register_rest_route( $this->namespace, '/' . $this->rest_base . '/(?P[\d]+)', array( 'args' => array( 'id' => array( 'description' => __( 'Unique identifier for the resource.', 'cookie-law-info' ), 'type' => 'integer', ), ), array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_item' ), 'permission_callback' => array( $this, 'get_item_permissions_check' ), 'args' => array( 'context' => $this->get_context_param( array( 'default' => 'view' ) ), ), ), array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => array( $this, 'update_item' ), 'permission_callback' => array( $this, 'update_item_permissions_check' ), 'args' => $this->get_endpoint_args_for_item_schema( WP_REST_Server::EDITABLE ), ), array( 'methods' => WP_REST_Server::DELETABLE, 'callback' => array( $this, 'delete_item' ), 'permission_callback' => array( $this, 'delete_item_permissions_check' ), ), 'schema' => array( $this, 'get_public_item_schema' ), ) ); } /** * Return cookie ids * * @param array $args Request arguments. * @return array */ public function get_item_objects( $args ) { return Cookie_Controller::get_instance()->get_items_by_category( $args ); } /** * Return item object * * @param object $item Cookie id. * @return Cookie */ public function get_item_object( $item = false ) { return new Cookie( $item ); } /** * Get formatted item data. * * @since 3.0.0 * @param Cookie $object Cookie instance. * @return array */ protected function get_formatted_item_data( $object ) { return $object->get_prepared_data(); } /** * Get the Cookies's schema, conforming to JSON Schema. * * @return array */ public function get_item_schema() { $schema = array( '$schema' => 'http://json-schema.org/draft-04/schema#', 'title' => 'cookie', 'type' => 'object', 'properties' => array( 'id' => array( 'description' => __( 'Unique identifier for the resource.', 'cookie-law-info' ), 'type' => 'integer', 'context' => array( 'view' ), 'readonly' => true, ), 'date_created' => array( 'description' => __( 'The date the cookie was created, as GMT.', 'cookie-law-info' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'date_modified' => array( 'description' => __( 'The date the cookie was last modified, as GMT.', 'cookie-law-info' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), ), 'name' => array( 'description' => __( 'Cookie name.', 'cookie-law-info' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), ), 'category' => array( 'description' => __( 'Cookie category name.', 'cookie-law-info' ), 'type' => 'integer', 'context' => array( 'view', 'edit' ), ), 'slug' => array( 'description' => __( 'Cookie unique name', 'cookie-law-info' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), ), 'description' => array( 'description' => __( 'Cookie description.', 'cookie-law-info' ), 'type' => 'object', 'context' => array( 'view', 'edit' ), ), 'duration' => array( 'description' => __( 'Cookie duration', 'cookie-law-info' ), 'type' => 'object', 'context' => array( 'view', 'edit' ), ), 'language' => array( 'description' => __( 'Cookie language.', 'cookie-law-info' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), ), 'type' => array( 'description' => __( 'Cookie type.', 'cookie-law-info' ), 'type' => 'integer', 'context' => array( 'view', 'edit' ), ), 'domain' => array( 'description' => __( 'Cookie domain.', 'cookie-law-info' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), ), 'discovered' => array( 'description' => __( 'If cookies added from the scanner or not.', 'cookie-law-info' ), 'type' => 'boolean', 'context' => array( 'view', 'edit' ), ), 'url_pattern' => array( 'description' => __( 'URL patterns for blocking purposes', 'cookie-law-info' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), ), ), ); return $this->add_additional_fields_schema( $schema ); } } // End the class. admin/modules/cookies/api/class-categories-api.php000064400000022014150514563140016224 0ustar00namespace, '/' . $this->rest_base, array( array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_items' ), 'permission_callback' => array( $this, 'get_items_permissions_check' ), 'args' => $this->get_collection_params(), ), array( 'methods' => WP_REST_Server::CREATABLE, 'callback' => array( $this, 'create_item' ), 'permission_callback' => array( $this, 'create_item_permissions_check' ), 'args' => $this->get_endpoint_args_for_item_schema( WP_REST_Server::CREATABLE ), ), 'schema' => array( $this, 'get_public_item_schema' ), ) ); register_rest_route( $this->namespace, '/' . $this->rest_base . '/bulk', array( array( 'methods' => WP_REST_Server::CREATABLE, 'callback' => array( $this, 'bulk' ), 'permission_callback' => array( $this, 'create_item_permissions_check' ), 'args' => $this->get_endpoint_args_for_item_schema( WP_REST_Server::CREATABLE ), ), 'schema' => array( $this, 'get_public_item_schema' ), ) ); register_rest_route( $this->namespace, '/' . $this->rest_base . '/(?P[\d]+)', array( 'args' => array( 'id' => array( 'description' => __( 'Unique identifier for the resource.', 'cookie-law-info' ), 'type' => 'integer', ), ), array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_item' ), 'permission_callback' => array( $this, 'get_item_permissions_check' ), 'args' => array( 'context' => $this->get_context_param( array( 'default' => 'view' ) ), ), ), array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => array( $this, 'update_item' ), 'permission_callback' => array( $this, 'update_item_permissions_check' ), 'args' => $this->get_endpoint_args_for_item_schema( WP_REST_Server::EDITABLE ), ), array( 'methods' => WP_REST_Server::DELETABLE, 'callback' => array( $this, 'delete_item' ), 'permission_callback' => array( $this, 'delete_item_permissions_check' ), ), 'schema' => array( $this, 'get_public_item_schema' ), ) ); } /** * Return cookie ids * * @param array $args Request arguments. * @return array */ public function get_item_objects( $args ) { return Category_Controller::get_instance()->get_items( $args ); } /** * Return item object * * @param object $item Cookie item. * @return Cookie_Categories */ public function get_item_object( $item = false ) { return new Cookie_Categories( $item ); } /** * Get formatted item data. * * @since 3.0.0 * @param Cookie_Categories $object Cookie instance. * @return array */ protected function get_formatted_item_data( $object ) { return array( 'id' => $object->get_id(), 'name' => $object->get_name(), 'slug' => $object->get_slug(), 'description' => $object->get_description(), 'prior_consent' => $object->get_prior_consent(), 'visibility' => $object->get_visibility(), 'language' => $object->get_language(), 'priority' => $object->get_priority(), 'sell_personal_data' => $object->get_sell_personal_data(), 'cookie_list' => $object->get_cookies(), 'date_created' => $object->get_date_created(), 'date_modified' => $object->get_date_modified(), ); } /** * Bulk update of categories. * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|WP_REST_Response */ public function bulk( $request ) { try { if ( ! isset( $request['categories'] ) ) { return new WP_Error( 'cookieyes_rest_invalid_data', __( 'No data specified to create/edit categories', 'cookie-law-info' ), array( 'status' => 404 ) ); } if ( ! defined( 'CKY_BULK_REQUEST' ) ) { define( 'CKY_BULK_REQUEST', true ); } $item_objects = array(); $objects = array(); $data = $request['categories']; $categories = array(); foreach ( $data as $_category ) { $id = 0; // Try to get the category ID. if ( isset( $_category['id'] ) ) { $id = intval( $_category['id'] ); } if ( $id ) { $object = new Cookie_Categories( $id ); $prior_consent = isset( $_category['prior_consent'] ) ? (bool) $_category['prior_consent'] : false; $visibility = isset( $_category['visibility'] ) ? (bool) $_category['visibility'] : true; $object->set_prior_consent( $prior_consent ); $object->set_visibility( $visibility ); $object->save(); $item_objects[] = $object; } } foreach ( $item_objects as $data ) { $data = $this->prepare_item_for_response( $data, $request ); $objects[] = $this->prepare_response_for_collection( $data ); } do_action( 'cky_after_update_cookie_category' ); return rest_ensure_response( $objects ); } catch ( Exception $e ) { return new WP_Error( $e->getCode(), $e->getMessage(), array( 'status' => $e->getCode() ) ); } } /** * Get the Cookies's schema, conforming to JSON Schema. * * @return array */ public function get_item_schema() { $schema = array( '$schema' => 'http://json-schema.org/draft-04/schema#', 'title' => 'cookie_categories', 'type' => 'object', 'properties' => array( 'id' => array( 'description' => __( 'Unique identifier for the resource.', 'cookie-law-info' ), 'type' => 'integer', 'context' => array( 'view' ), 'readonly' => true, ), 'date_created' => array( 'description' => __( 'The date the cookie was created, as GMT.', 'cookie-law-info' ), 'type' => 'date-time', 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'date_modified' => array( 'description' => __( 'The date the cookie was last modified, as GMT.', 'cookie-law-info' ), 'type' => 'date-time', 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'name' => array( 'description' => __( 'Cookie category name.', 'cookie-law-info' ), 'type' => 'object', 'context' => array( 'view', 'edit' ), ), 'slug' => array( 'description' => __( 'Cookie category unique name', 'cookie-law-info' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), ), 'language' => array( 'description' => __( 'Cookie category language', 'cookie-law-info' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), ), 'description' => array( 'description' => __( 'Cookie category description.', 'cookie-law-info' ), 'type' => 'object', 'context' => array( 'view', 'edit' ), ), 'prior_consent' => array( 'description' => __( 'Cookie type.', 'cookie-law-info' ), 'type' => 'boolean', 'context' => array( 'view', 'edit' ), ), 'priority' => array( 'description' => __( 'Cookie type.', 'cookie-law-info' ), 'type' => 'integer', 'context' => array( 'view', 'edit' ), ), 'visibility' => array( 'description' => __( 'Show cookies on audit table or not', 'cookie-law-info' ), 'type' => 'boolean', 'context' => array( 'view', 'edit' ), ), 'sell_personal_data' => array( 'description' => __( 'Show cookies on audit table or not', 'cookie-law-info' ), 'type' => 'boolean', 'context' => array( 'view', 'edit' ), ), 'cookies' => array( 'description' => __( 'Cookie category description.', 'cookie-law-info' ), 'type' => 'object', 'context' => array( 'view' ), ), ), ); return $this->add_additional_fields_schema( $schema ); } } // End the class. admin/modules/cookies/api/class-api-controller.php000064400000021312150514563140016262 0ustar00 405 ) ); } /** * Get object. * * @param int $id Object ID. * @return object Cookie object or Cookie_Categories object or WP_Error object. */ protected function get_item_object( $id = false ) { // translators: %s: Class method name. return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass.", 'cookie-law-info' ), __METHOD__ ), array( 'status' => 405 ) ); } /** * Get formatted data from corresponding object. * * @param object $object Cookie_Categories or Cookie instance. * @return WP_Error */ protected function get_formatted_item_data( $object ) { // translators: %s: Class method name. return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass.", 'cookie-law-info' ), __METHOD__ ), array( 'status' => 405 ) ); } /** * Get a collection of items. * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|WP_REST_Response */ public function get_items( $request ) { $args = array(); $registered = $this->get_collection_params(); $objects = array(); $item_objects = array(); if ( isset( $registered['lang'], $request['lang'] ) ) { $args['lang'] = sanitize_text_field( $request['lang'] ); } if ( isset( $registered['category'], $request['category'] ) ) { $args['category'] = sanitize_text_field( $request['category'] ); } $item_data = $this->get_item_objects( $args ); if ( isset( $item_data ) && ! empty( $item_data ) ) { $item_objects = array_filter( array_map( array( $this, 'get_item_object' ), $item_data ) ); } foreach ( $item_objects as $data ) { $data = $this->prepare_item_for_response( $data, $request ); $objects[] = $this->prepare_response_for_collection( $data ); } // Wrap the data in a response object. return rest_ensure_response( $objects ); } /** * Get a single item. * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|WP_REST_Response */ public function get_item( $request ) { $object = $this->get_item_object( (int) $request['id'] ); if ( ! $object || 0 === $object->get_id() ) { return new WP_Error( 'cookieyes_rest_invalid_id', __( 'Invalid ID.', 'cookie-law-info' ), array( 'status' => 404 ) ); } $data = $this->prepare_item_for_response( $object, $request ); return rest_ensure_response( $data ); } /** * Create a single cookie or cookie category. * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|WP_REST_Response */ public function create_item( $request ) { if ( ! empty( $request['id'] ) ) { return new WP_Error( 'cookieyes_rest_item_exists', __( 'Cannot create existing post.', 'cookie-law-info' ), array( 'status' => 400 ) ); } $object = $this->may_be_create( $request, true ); $data = $this->prepare_item_for_response( $object, $request ); return rest_ensure_response( $data ); } /** * Update a single cookie or cookie category. * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|WP_REST_Response */ public function update_item( $request ) { $object = $this->may_be_create( $request, false ); $data = $this->prepare_item_for_response( $object, $request ); return rest_ensure_response( $data ); } /** * Delete a single cookie or cookie category * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|WP_REST_Response */ public function delete_item( $request ) { $id = isset( $request['id'] ) ? absint( $request['id'] ) : 0; $object = $this->get_item_object(); $object->set_id( $id ); if ( ! $object || 0 === $object->get_id() ) { return new WP_Error( 'cookieyes_rest_invalid_id', __( 'Invalid ID.', 'cookie-law-info' ), array( 'status' => 404 ) ); } $data = $this->prepare_item_for_response( $object, $request ); $object->delete(); return rest_ensure_response( $data ); } /** * Format data to provide output to API * * @param object $object Object of the corresponding item Cookie or Cookie_Categories. * @param array $request Request params. * @return array */ public function prepare_item_for_response( $object, $request ) { $data = $this->get_formatted_item_data( $object ); $context = ! empty( $request['context'] ) ? $request['context'] : 'view'; $data = $this->add_additional_fields_to_object( $data, $request ); $data = $this->filter_response_by_context( $data, $context ); return rest_ensure_response( $data ); } /** * Create or update item * * @param WP_REST_Request $request WP rest request object. * @param boolean $create Decide whether to create new or update existing. * @return object */ public function may_be_create( $request, $create = false ) { $object = $this->prepare_item_for_database( $request, $create ); return $object; } /** * Prepare a single item for create or update. * * @param WP_REST_Request $request Request object. * @param boolean $create Decide whether to create new or update existing. * @return array */ public function prepare_item_for_database( $request, $create = false ) { $id = isset( $request['id'] ) ? absint( $request['id'] ) : 0; $object = $this->get_item_object(); $object->set_id( $id ); if ( false === $create && ( ! $object || 0 === $object->get_id() ) ) { return new WP_Error( 'cookieyes_rest_invalid_id', __( 'Invalid ID.', 'cookie-law-info' ), array( 'status' => 400 ) ); } $schema = $this->get_item_schema(); $properties = isset( $schema['properties'] ) && is_array( $schema['properties'] ) ? $schema['properties'] : array(); if ( ! empty( $properties ) ) { $properties_keys = array_keys( array_filter( $properties, function( $property ) { return isset( $property['readonly'] ) && true === $property['readonly'] ? false : true; } ) ); foreach ( $properties_keys as $key ) { $value = isset( $request[ $key ] ) ? $request[ $key ] : ''; if ( true === $create && empty( $value ) ) { continue; } if ( is_callable( array( $object, "set_{$key}" ) ) ) { $object->{"set_{$key}"}( $value ); } } } $object->save(); return $object; } /** * Get the query params for collections. * * @return array */ public function get_collection_params() { return array( 'context' => $this->get_context_param( array( 'default' => 'view' ) ), 'page' => array( 'description' => __( 'Current page of the collection.', 'cookie-law-info' ), 'type' => 'integer', 'default' => 1, 'sanitize_callback' => 'absint', 'validate_callback' => 'rest_validate_request_arg', 'minimum' => 1, ), 'per_page' => array( 'description' => __( 'Maximum number of items to be returned in result set.', 'cookie-law-info' ), 'type' => 'integer', 'default' => 10, 'minimum' => 1, 'maximum' => 100, 'sanitize_callback' => 'absint', 'validate_callback' => 'rest_validate_request_arg', ), 'search' => array( 'description' => __( 'Limit results to those matching a string.', 'cookie-law-info' ), 'type' => 'string', 'sanitize_callback' => 'sanitize_text_field', 'validate_callback' => 'rest_validate_request_arg', ), 'lang' => array( 'description' => __( 'Language of the cookie', 'cookie-law-info' ), 'type' => 'string', 'sanitize_callback' => 'sanitize_text_field', 'validate_callback' => 'rest_validate_request_arg', ), 'category' => array( 'description' => __( 'Cookie category', 'cookie-law-info' ), 'type' => 'integer', 'sanitize_callback' => 'sanitize_text_field', 'validate_callback' => 'rest_validate_request_arg', ), ); } } // End the class. admin/modules/cookies/includes/class-cookie-categories.php000064400000017421150514563140017767 0ustar00 '', 'slug' => '', 'description' => array(), 'prior_consent' => false, 'visibility' => true, 'priority' => 0, 'meta' => array(), 'date_created' => '', 'date_modified' => '', 'language' => 'en', 'sell_personal_data' => true, 'cookies' => array(), ); /** * Constructor * * @param mixed $data ID or slug of the cookie. */ public function __construct( $data = '' ) { parent::__construct( $data ); if ( is_int( $data ) && 0 !== $data ) { $this->set_id( $data ); } if ( isset( $data->category_id ) ) { $this->set_id( $data->category_id ); $this->read_direct( $data ); } else { $this->get_data_from_db(); } } /** * Create a new cookie * * @param object $object instance of Cookie_Categories. * @return void */ public function create( $object ) { Category_Controller::get_instance()->create_item( $object ); } /** * Read cookie data from database * * @param object $category instance of Cookie_Categories. * @return void */ public function read( $category ) { $this->set_defaults(); $data = Category_Controller::get_instance()->get_item( $category->get_id() ); $this->set_data( $data ); } /** * Assign data to objects * * @param array|object $data Array of data. * @return void */ public function set_data( $data ) { if ( isset( $data->category_id ) ) { $this->set_multi_item_data( array( 'name' => $data->name, 'slug' => $data->slug, 'description' => $data->description, 'prior_consent' => $data->prior_consent, 'visibility' => $data->visibility, 'priority' => $data->priority, 'sell_personal_data' => $data->sell_personal_data, 'meta' => $data->meta, 'cookies' => $data->cookies, 'date_created' => $data->date_created, 'date_modified' => $data->date_modified, ) ); $this->set_loaded( true ); } } /** * Read directly from the data object given. * Used for assigning data to object if it is alread fetched from API or DB. * * @param array|object $data Category data. * @return void */ public function read_direct( $data ) { $this->set_data( $data ); } /** * Update cookie category data * * @param object $object Instance of Cookie. * @return void */ public function update( $object ) { Category_Controller::get_instance()->update_item( $object ); } /** * Delete a cookie category from database * * @param object $object Category object. * @return void */ public function remove( $object ) { Category_Controller::get_instance()->delete_item( $object ); } /** * Get translated cookie category name. * * @param string $language Language code. * @return array */ public function get_name( $language = '' ) { $contents = array(); $prop = 'name'; $data = $this->get_object_data( $prop ); $languages = cky_selected_languages( $language ); $default_content = isset( $data['en'] ) ? $data['en'] : $this->get_translations( 'en', $prop ); foreach ( $languages as $lang ) { $content = isset( $data[ $lang ] ) ? $data[ $lang ] : ''; $content = empty( $content ) ? $this->get_translations( $lang, $prop ) : $content; $content = empty( $content ) && 'view' === $this->get_context() ? $default_content : $content; $contents[ $lang ] = stripslashes( wp_kses_post( $content ) ); } if ( '' !== $language ) { return isset( $contents[ $language ] ) ? $contents[ $language ] : ''; } return $contents; } /** * Return prior consent of the category. * * @return boolean */ public function get_prior_consent() { return (bool) $this->get_object_data( 'prior_consent' ); } /** * Return visibility of the category. * * @return boolean */ public function get_visibility() { return (bool) $this->get_object_data( 'visibility' ); } /** * Return the priority of the category. * * @return boolean */ public function get_priority() { return absint( $this->get_object_data( 'priority' ) ); } /** * Return true if the category sells any personal data. * * @return boolean */ public function get_sell_personal_data() { return (bool) $this->get_object_data( 'sell_personal_data' ); } /** * Return category meta data. * * @return array */ public function get_meta() { $meta = array(); $data = $this->get_object_data( 'meta' ); foreach ( $data as $key => $item ) { $meta[ $key ] = sanitize_textarea_field( $item ); } return $meta; } /** * Return list of cookies associated to each category * * @return array */ public function get_cookies() { return $this->get_object_data( 'cookies' ); } /** * Set the name of the category to an object. * * @param string $data Name of the category. * @return void */ public function set_name( $data ) { $name = array(); $languages = cky_selected_languages(); foreach ( $languages as $lang ) { $name[ $lang ] = isset( $data[ $lang ] ) ? wp_filter_post_kses( $data[ $lang ] ) : ''; } $this->set_object_data( 'name', $name ); } /** * Set prior consent of a category * * @param boolean $data True if it sells personal data. * @return void */ public function set_prior_consent( $data ) { $this->set_object_data( 'prior_consent', (bool) $data ); } /** * Set visibility of a category * * @param boolean $data true or false based on the visibility of a category. * @return void */ public function set_visibility( $data ) { $this->set_object_data( 'visibility', (bool) $data ); } /** * Set true/false based on the personal information stored. * * @param boolean $data true if sells personl data. * @return void */ public function set_sell_personal_data( $data ) { $this->set_object_data( 'sell_personal_data', (bool) $data ); } /** * Priority of a category. Based on this category will be ordered. * * @param integer $data priority number. * @return void */ public function set_priority( $data ) { $this->set_object_data( 'priority', absint( $data ) ); } /** * Set meta data * * @param array $data Meta data array. * @return void */ public function set_meta( $data ) { $this->set_object_data( 'meta', $data ); } /** * Assign cookies to the object * * @param array $data cookie array. * @return void */ public function set_cookies( $data ) { $this->set_object_data( 'cookies', $data ); } /** * Get contents by language. * * @param string $lang Language code. * @param string $key Specific key if any. * @return string */ public function get_translations( $lang = '', $key = '' ) { $slug = $this->get_slug(); $contents = wp_cache_get( 'cky_category_contents_' . $lang, 'cky_category_contents' ); if ( ! $contents ) { $contents = cky_read_json_file( dirname( __FILE__ ) . "/contents/categories/{$lang}.json" ); wp_cache_set( 'cky_category_contents_' . $lang, $contents, 'cky_category_contents', 12 * HOUR_IN_SECONDS ); } return isset( $contents[ $slug ][ $key ] ) ? $contents[ $slug ][ $key ] : ''; } } admin/modules/cookies/includes/class-category-controller.php000064400000024406150514563140020372 0ustar00prefix}cky_cookie_categories", ); return $tables; } /** * Get table schema * * @return string */ protected function get_schema() { global $wpdb; $collate = ''; if ( $wpdb->has_cap( 'collation' ) ) { $collate = $wpdb->get_charset_collate(); } $tables = " CREATE TABLE {$wpdb->prefix}cky_cookie_categories ( category_id bigint(20) NOT NULL AUTO_INCREMENT, name text NOT NULL DEFAULT '', slug varchar(190) NOT NULL DEFAULT '', description longtext NOT NULL DEFAULT '', prior_consent int(11) NOT NULL default 0, visibility int(11) NOT NULL default 1, priority int(11) NOT NULL default 0, sell_personal_data int(11) NOT NULL default 0, meta longtext NULL DEFAULT '', date_created datetime NOT NULL DEFAULT '0000-00-00 00:00:00', date_modified datetime NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (category_id), UNIQUE KEY slug (slug) ) $collate; "; return $tables; } /** * Get a list of banners from localhost. * * @param array $args Array of arguments. * @return array */ public function get_item_from_db( $args = array() ) { global $wpdb; $items = array(); if ( false === $this->data_exist() ) { return $items; } if ( isset( $args['id'] ) && '' !== $args['id'] ) { $results = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM `{$wpdb->prefix}cky_cookie_categories` WHERE `category_id` = %d", stripslashes( absint( $args['id'] ) ) ) ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery } else { $results = $wpdb->get_results( "SELECT * FROM `{$wpdb->prefix}cky_cookie_categories`" ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery } if ( isset( $results ) && ! empty( $results ) ) { if ( true === is_array( $results ) ) { foreach ( $results as $data ) { $item = $this->prepare_item( $data ); if ( ! empty( $item ) ) { $item->cookies = $this->get_cookies( $item->category_id ); $items[ $item->{$this->id} ] = $item; } } } else { $items = $this->prepare_item( $results ); $items->cookies = $this->get_cookies( $results->category_id ); } } return $items; } /** * Create a new category * * @param object $object Category object. * @return void */ public function create_item( $object ) { global $wpdb; $date_created = current_time( 'mysql' ); $object->set_date_created( $date_created ); $object->set_date_modified( $date_created ); $wpdb->insert( // phpcs:ignore WordPress.DB.DirectDatabaseQuery $wpdb->prefix . 'cky_cookie_categories', array( 'name' => wp_json_encode( $object->get_name() ), 'slug' => $object->get_slug(), 'description' => wp_json_encode( $object->get_description() ), 'prior_consent' => ( true === $object->get_prior_consent() ? 1 : 0 ), 'visibility' => ( true === $object->get_visibility() ? 1 : 0 ), 'priority' => $object->get_priority(), 'sell_personal_data' => ( true === $object->get_sell_personal_data() ? 1 : 0 ), 'meta' => wp_json_encode( $object->get_meta() ), 'date_created' => $object->get_date_created(), 'date_modified' => $object->get_date_modified(), ), array( '%s', '%s', '%s', '%d', '%d', '%d', '%d', '%s', '%d', '%s', '%s', '%s', ) ); $object->set_id( $wpdb->insert_id ); do_action( 'cky_after_update_cookie_category' ); } /** * Update an existing category on a local db. * * @param object $object category object. * @return void */ public function update_item( $object ) { global $wpdb; $wpdb->update( // phpcs:ignore WordPress.DB.DirectDatabaseQuery $wpdb->prefix . 'cky_cookie_categories', array( 'name' => wp_json_encode( $object->get_name() ), 'slug' => $object->get_slug(), 'description' => wp_json_encode( $object->get_description() ), 'prior_consent' => ( true === $object->get_prior_consent() ? 1 : 0 ), 'visibility' => ( true === $object->get_visibility() ? 1 : 0 ), 'priority' => $object->get_priority(), 'sell_personal_data' => ( true === $object->get_sell_personal_data() ? 1 : 0 ), 'meta' => wp_json_encode( $object->get_meta() ), 'date_modified' => $object->get_date_modified(), ), array( 'category_id' => $object->get_id() ), array( '%s', '%s', '%s', '%d', '%d', '%d', '%d', '%s', '%d', '%s', '%s', ) ); if ( defined( 'CKY_BULK_REQUEST' ) && CKY_BULK_REQUEST ) { return; } do_action( 'cky_after_update_cookie_category' ); } /** * Properly sanitize category data before sending to the controllers. * * @param object $item Category raw data. * @return object */ public function prepare_item( $item ) { if ( false === is_object( $item ) ) { return false; } $object = new stdClass(); $object->category_id = isset( $item->category_id ) ? absint( $item->category_id ) : 0; $object->name = isset( $item->name ) ? cky_sanitize_content( $this->prepare_json( $item->name ) ) : ''; $object->slug = isset( $item->slug ) ? sanitize_text_field( $item->slug ) : ''; $object->description = isset( $item->description ) ? cky_sanitize_content( $this->prepare_json( $item->description ) ) : ''; $object->prior_consent = isset( $item->prior_consent ) ? absint( $item->prior_consent ) : ''; $object->priority = isset( $item->priority ) ? absint( $item->priority ) : ''; $object->visibility = isset( $item->visibility ) ? absint( $item->visibility ) : 0; $object->sell_personal_data = isset( $item->sell_personal_data ) ? absint( $item->sell_personal_data ) : 1; $object->meta = isset( $item->meta ) ? cky_sanitize_content( $this->prepare_json( $item->meta ) ) : ''; $object->date_created = isset( $item->date_created ) ? sanitize_text_field( $item->date_created ) : ''; $object->date_modified = isset( $item->date_modified ) ? sanitize_text_field( $item->date_modified ) : ''; return $object; } /** * Delete a category from database. * * @param object $object Category object. * @return void */ public function delete_item( $object ) { global $wpdb; $wpdb->delete( // phpcs:ignore WordPress.DB.DirectDatabaseQuery $wpdb->prefix . 'cky_cookie_categories', array( 'category_id' => $object->get_id(), ) ); do_action( 'cky_after_update_cookie_category' ); } /** * Get contents by language. * * @return array */ public static function get_defaults() { $contents = wp_cache_get( 'cky_category_contents_en', 'cky_category_contents' ); if ( ! $contents ) { $contents = cky_read_json_file( dirname( __FILE__ ) . '/contents/categories/en.json' ); wp_cache_set( 'cky_category_contents_en', $contents, 'cky_category_contents', 12 * HOUR_IN_SECONDS ); } return $contents; } /** * Load default cookies. * * @return void */ protected function load_default() { $categories = self::get_defaults(); $lang = cky_default_language(); foreach ( $categories as $slug => $category ) { $object = new \CookieYes\Lite\Admin\Modules\Cookies\Includes\Cookie_Categories(); $name[ $lang ] = isset( $category['name'] ) ? $category['name'] : ''; $description[ $lang ] = isset( $category['description'] ) ? $category['description'] : ''; $object->set_name( $name ); $object->set_description( $description ); $object->set_slug( $slug ); if ( 'necessary' === $slug ) { $object->set_prior_consent( true ); } $object->save(); } } /** * Decode a JSON string if necessary * * @param string $data String data. * @return array */ public function prepare_json( $data ) { if ( empty( $data ) ) { return array(); } return is_string( $data ) ? json_decode( $data, true ) : $data; } /** * Load items from the cache. * * @param boolean $id Category ID. * @return array|object */ protected function get_cache( $id = false ) { $key = 'all'; $categories = array(); $items = Cache::get( $key, $this->cache_group ); if ( false === $items ) { return false; } if ( ! empty( $items ) ) { foreach ( $items as $data ) { $item = $this->prepare_item( $data ); if ( ! empty( $item ) ) { $item->cookies = $data->cookies; $categories[ $item->category_id ] = $item; } } } return isset( $id ) && isset( $categories[ $id ] ) ? $categories[ $id ] : $categories; } /** * Get cookies of each category. * * @param string $category Category slug or id. * @return array */ public function get_cookies( $category = '' ) { $cookies = array(); if ( empty( $category ) ) { return array(); } $items = Cookie_Controller::get_instance()->get_items_by_category( $category ); foreach ( $items as $data ) { $object = new Cookie( $data ); $cookies[] = $object->get_prepared_data(); } return $cookies; } } admin/modules/cookies/includes/contents/categories/pl.json000064400000002744150514563140020051 0ustar00{ "necessary": { "name": "niezbędny", "description": "

Niezbędne pliki cookie mają kluczowe znaczenie dla podstawowych funkcji witryny i witryna nie będzie działać w zamierzony sposób bez nich. Te pliki cookie nie przechowują żadnych danych umożliwiających identyfikację osoby.

" }, "functional": { "name": "Funkcjonalny", "description": "

Funkcjonalne pliki cookie pomagają wykonywać pewne funkcje, takie jak udostępnianie zawartości witryny na platformach mediów społecznościowych, zbieranie informacji zwrotnych i inne funkcje stron trzecich.

" }, "analytics": { "name": "Analityka", "description": "

Analityczne pliki cookie służą do zrozumienia, w jaki sposób użytkownicy wchodzą w interakcję z witryną. Te pliki cookie pomagają dostarczać informacje o metrykach liczby odwiedzających, współczynniku odrzuceń, źródle ruchu itp.

" }, "performance": { "name": "Występ", "description": "

Wydajnościowe pliki cookie służą do zrozumienia i analizy kluczowych wskaźników wydajności witryny, co pomaga zapewnić lepsze wrażenia użytkownika dla odwiedzających.

" }, "advertisement": { "name": "Reklama", "description": "

Reklamowe pliki cookie służą do dostarczania użytkownikom spersonalizowanych reklam w oparciu o strony, które odwiedzili wcześniej, oraz do analizowania skuteczności kampanii reklamowej.

" } }admin/modules/cookies/includes/contents/categories/default.json000064400000002540150514563140021054 0ustar00{ "necessary": { "name": "Necessary", "description": "

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

" }, "functional": { "name": "Functional", "description": "

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

" }, "analytics": { "name": "Analytics", "description": "

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

" }, "performance": { "name": "Performance", "description": "

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

" }, "advertisement": { "name": "Advertisement", "description": "

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

" } }admin/modules/cookies/includes/contents/categories/pt.json000064400000002625150514563140020057 0ustar00{ "necessary": { "name": "Necessário", "description": "

Os cookies necessários são cruciais para as funções básicas do site e o site não funcionará da maneira pretendida sem eles. Esses cookies não armazenam nenhum dado de identificação pessoal.

" }, "functional": { "name": "Funcional", "description": "

Os cookies funcionais ajudam a realizar certas funcionalidades, como compartilhar o conteúdo do site em plataformas de mídia social, coletar feedbacks e outros recursos de terceiros.

" }, "analytics": { "name": "Analytics", "description": "

Cookies analíticos são usados para entender como os visitantes interagem com o site. Esses cookies ajudam a fornecer informações sobre as métricas do número de visitantes, taxa de rejeição, origem do tráfego, etc.

" }, "performance": { "name": "Desempenho", "description": "

Os cookies de desempenho são usados para compreender e analisar os principais índices de desempenho do site, o que ajuda a oferecer uma melhor experiência do usuário aos visitantes.

" }, "advertisement": { "name": "Anúncio", "description": "

Os cookies de publicidade são usados para entregar aos visitantes anúncios personalizados com base nas páginas que eles visitaram antes e analisar a eficácia da campanha publicitária.

" } }admin/modules/cookies/includes/contents/categories/de.json000064400000002665150514563140020030 0ustar00{ "necessary": { "name": "Notwendige", "description": "

Notwendige Cookies sind für die Grundfunktionen der Website von entscheidender Bedeutung. Ohne sie kann die Website nicht in der vorgesehenen Weise funktionieren. Diese Cookies speichern keine personenbezogenen Daten.

" }, "functional": { "name": "Funktionale", "description": "

Funktionale Cookies unterstützen bei der Ausführung bestimmter Funktionen, z. B. beim Teilen des Inhalts der Website auf Social Media-Plattformen, beim Sammeln von Feedbacks und anderen Funktionen von Drittanbietern.

" }, "analytics": { "name": "Analyse", "description": "

Analyse-Cookies werden verwendet um zu verstehen, wie Besucher mit der Website interagieren. Diese Cookies dienen zu Aussagen über die Anzahl der Besucher, Absprungrate, Herkunft der Besucher usw.

" }, "performance": { "name": "Leistungs", "description": "

Leistungs-Cookies werden verwendet, um die wichtigsten Leistungsindizes der Website zu verstehen und zu analysieren. Dies trägt dazu bei, den Besuchern ein besseres Nutzererlebnis zu bieten.

" }, "advertisement": { "name": "Werbe", "description": "

Werbe-Cookies werden verwendet, um Besuchern auf der Grundlage der von ihnen zuvor besuchten Seiten maßgeschneiderte Werbung zu liefern und die Wirksamkeit von Werbekampagne nzu analysieren.

" } }admin/modules/cookies/includes/contents/categories/fi.json000064400000002717150514563140020034 0ustar00{ "necessary": { "name": "Tarvittavat", "description": "

Tarvittavat evästeet ovat ratkaisevan tärkeitä verkkosivuston perustoiminnoille, eikä verkkosivusto toimi tarkoitetulla tavalla ilman niitä. Nämä evästeet eivät tallenna henkilökohtaisia tietoja.

" }, "functional": { "name": "Toiminnalliset", "description": "

Toiminnalliset evästeet auttavat suorittamaan tiettyjä toimintoja, kuten verkkosivuston sisällön jakamista sosiaalisen median alustoilla, palautteiden keräämistä ja muita kolmannen osapuolen ominaisuuksia.

" }, "analytics": { "name": "Analytics", "description": "

Analyyttisiä evästeitä käytetään ymmärtämään, miten kävijät ovat vuorovaikutuksessa verkkosivuston kanssa. Nämä evästeet auttavat tarjoamaan tietoa kävijöiden lukumäärästä, poistumisprosentista, liikenteen lähteestä jne.

" }, "performance": { "name": "Suorituskykyä", "description": "

Suorituskykyevästeitä käytetään verkkosivuston tärkeimpien suorituskykyindeksien ymmärtämiseen ja analysointiin, mikä auttaa tarjoamaan vierailijoille paremman käyttökokemuksen.

" }, "advertisement": { "name": "Mainos", "description": "

Mainosevästeitä käytetään tarjoamaan kävijöille räätälöityjä mainoksia sivujen perusteella, joilla he ovat käyneet aiemmin, ja analysoimaan mainoskampanjan tehokkuutta.

" } }admin/modules/cookies/includes/contents/categories/es.json000064400000002740150514563140020041 0ustar00{ "necessary": { "name": "Necesaria", "description": "

Las cookies necesarias son cruciales para las funciones básicas del sitio web y el sitio web no funcionará de la forma prevista sin ellas. Estas cookies no almacenan ningún dato de identificación personal.

" }, "functional": { "name": "Funcional", "description": "

Las cookies funcionales ayudan a realizar ciertas funcionalidades, como compartir el contenido del sitio web en plataformas de redes sociales, recopilar comentarios y otras características de terceros.

" }, "analytics": { "name": "Analítica", "description": "

Las cookies analíticas se utilizan para comprender cómo interactúan los visitantes con el sitio web. Estas cookies ayudan a proporcionar información sobre métricas el número de visitantes, el porcentaje de rebote, la fuente de tráfico, etc.

" }, "performance": { "name": "El rendimiento", "description": "

Las cookies de rendimiento se utilizan para comprender y analizar los índices de rendimiento clave del sitio web, lo que ayuda a proporcionar una mejor experiencia de usuario para los visitantes.

" }, "advertisement": { "name": "Anuncio", "description": "

Las cookies publicitarias se utilizan para entregar a los visitantes anuncios personalizados basados ​​en las páginas que visitaron antes y analizar la efectividad de la campaña publicitaria.

" } }admin/modules/cookies/includes/contents/categories/fr.json000064400000002743150514563140020044 0ustar00{ "necessary": { "name": "Nécessaire", "description": "

Les cookies nécessaires sont cruciaux pour les fonctions de base du site Web et celui-ci ne fonctionnera pas comme prévu sans eux. Ces cookies ne stockent aucune donnée personnellement identifiable.

" }, "functional": { "name": "Fonctionnelle", "description": "

Les cookies fonctionnels permettent d'exécuter certaines fonctionnalités telles que le partage du contenu du site Web sur des plateformes de médias sociaux, la collecte de commentaires et d'autres fonctionnalités tierces.

" }, "analytics": { "name": "Analytique", "description": "

Les cookies analytiques sont utilisés pour comprendre comment les visiteurs interagissent avec le site Web. Ces cookies aident à fournir des informations sur le nombre de visiteurs, le taux de rebond, la source de trafic, etc.

" }, "performance": { "name": "Performance", "description": "

Les cookies de performance sont utilisés pour comprendre et analyser les indices de performance clés du site Web, ce qui permet de fournir une meilleure expérience utilisateur aux visiteurs.

" }, "advertisement": { "name": "Publicité", "description": "

Les cookies de publicité sont utilisés pour fournir aux visiteurs des publicités personnalisées basées sur les pages visitées précédemment et analyser l'efficacité de la campagne publicitaire.

" } }admin/modules/cookies/includes/contents/categories/it.json000064400000002715150514563140020050 0ustar00{ "necessary": { "name": "Necessaria", "description": "

I cookie necessari sono fondamentali per le funzioni di base del sito Web e il sito Web non funzionerà nel modo previsto senza di essi. Questi cookie non memorizzano dati identificativi personali.

" }, "functional": { "name": "Funzionale", "description": "

I cookie funzionali aiutano a svolgere determinate funzionalità come la condivisione del contenuto del sito Web su piattaforme di social media, la raccolta di feedback e altre funzionalità di terze parti.

" }, "analytics": { "name": "Analitica", "description": "

I cookie analitici vengono utilizzati per comprendere come i visitatori interagiscono con il sito Web. Questi cookie aiutano a fornire informazioni sulle metriche di numero di visitatori, frequenza di rimbalzo, fonte di traffico, ecc.

" }, "performance": { "name": "Prestazioni", "description": "

I cookie per le prestazioni vengono utilizzati per comprendere e analizzare gli indici di prestazione chiave del sito Web che aiutano a fornire ai visitatori un'esperienza utente migliore.

" }, "advertisement": { "name": "Pubblicitari", "description": "

I cookie pubblicitari vengono utilizzati per fornire ai visitatori annunci pubblicitari personalizzati in base alle pagine visitate in precedenza e per analizzare l'efficacia della campagna pubblicitaria.

" } }admin/modules/cookies/includes/contents/categories/hu.json000064400000003066150514563140020050 0ustar00{ "necessary": { "name": "Szükséges", "description": "

A szükséges sütik döntő fontosságúak a weboldal alapvető funkciói szempontjából, és a weboldal ezek nélkül nem fog megfelelően működni. Ezek a sütik nem tárolnak személyazonosításra alkalmas adatokat.

" }, "functional": { "name": "Funkcionális", "description": "

A funkcionális sütik segítenek bizonyos funkciók végrehajtásában, például a weboldal tartalmának megosztásában a közösségi média platformokon, visszajelzések gyűjtésében és más, harmadik féltől származó funkciókban.

" }, "analytics": { "name": "Analitika", "description": "

Analitikai sütiket használnak annak megértésére, hogy a látogatók hogyan lépnek kapcsolatba a weboldallal. Ezek a cookie-k segítséget nyújtanak a látogatók számáról, a visszafordulási arányról, a forgalmi forrásról stb.

" }, "performance": { "name": "Teljesítmény", "description": "

A teljesítmény-sütiket a weboldal kulcsfontosságú teljesítménymutatóinak megértésére és elemzésére használják, amelyek hozzájárulnak a látogatók jobb felhasználói élményének biztosításához.

" }, "advertisement": { "name": "Hirdetés", "description": "

A hirdetési sütiket arra használják, hogy a látogatókat személyre szabott hirdetésekkel juttassák el a korábban meglátogatott oldalak alapján, és elemezzék a hirdetési kampány hatékonyságát.

" } }admin/modules/cookies/includes/contents/categories/en.json000064400000002540150514563140020032 0ustar00{ "necessary": { "name": "Necessary", "description": "

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

" }, "functional": { "name": "Functional", "description": "

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

" }, "analytics": { "name": "Analytics", "description": "

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

" }, "performance": { "name": "Performance", "description": "

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

" }, "advertisement": { "name": "Advertisement", "description": "

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

" } }admin/modules/cookies/includes/contents/categories/pt-br.json000064400000002604150514563140020455 0ustar00{ "necessary": { "name": "Necessário", "description": "

Os cookies necessários são cruciais para as funções básicas do site e o site não funcionará como pretendido sem eles. Esses cookies não armazenam nenhum dado pessoalmente identificável.

" }, "functional": { "name": "Funcional", "description": "

Cookies funcionais ajudam a executar certas funcionalidades, como compartilhar o conteúdo do site em plataformas de mídia social, coletar feedbacks e outros recursos de terceiros.

" }, "analytics": { "name": "Analíticos", "description": "

Cookies analíticos são usados para entender como os visitantes interagem com o site. Esses cookies ajudam a fornecer informações sobre métricas o número de visitantes, taxa de rejeição, fonte de tráfego, etc.

" }, "performance": { "name": "Desempenho", "description": "

Os cookies de desempenho são usados para entender e analisar os principais índices de desempenho do site, o que ajuda a oferecer uma melhor experiência do usuário para os visitantes.

" }, "advertisement": { "name": "Anúncio", "description": "

Os cookies de anúncios são usados para entregar aos visitantes anúncios personalizados com base nas páginas que visitaram antes e analisar a eficácia da campanha publicitária.

" } }admin/modules/cookies/includes/class-cookie-controller.php000064400000022527150514563140020030 0ustar00prefix}cky_cookies", ); return $tables; } /** * Load default banner * * @return void */ protected function load_default() { } /** * Get table schema * * @return string */ protected function get_schema() { global $wpdb; $collate = ''; if ( $wpdb->has_cap( 'collation' ) ) { $collate = $wpdb->get_charset_collate(); } $tables = " CREATE TABLE {$wpdb->prefix}cky_cookies ( cookie_id bigint(20) NOT NULL AUTO_INCREMENT, name varchar(190) NOT NULL DEFAULT '', slug varchar(190) NOT NULL DEFAULT '', description longtext NOT NULL DEFAULT '', duration text NOT NULL DEFAULT '', domain varchar(190) NOT NULL DEFAULT '', category bigint(20) NOT NULL, type text NOT NULL DEFAULT '', discovered int(11) NOT NULL default 0, url_pattern varchar(190) NULL default '', meta longtext, date_created datetime NOT NULL DEFAULT '0000-00-00 00:00:00', date_modified datetime NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (cookie_id) ) $collate; "; return $tables; } /** * Get a list of banners from localhost. * * @param array $args Array of arguments. * @return array */ public function get_item_from_db( $args = array() ) { global $wpdb; $items = array(); if ( false === $this->table_exist() ) { return $items; } if ( isset( $args['id'] ) && '' !== $args['id'] ) { $results = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM `{$wpdb->prefix}cky_cookies` WHERE `cookie_id` = %d", stripslashes( absint( $args['id'] ) ) ) ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery } elseif ( isset( $args['category'] ) && '' !== $args['category'] ) { $results = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM `{$wpdb->prefix}cky_cookies` WHERE `category` = %d", stripslashes( absint( $args['category'] ) ) ) ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery } else { $results = $wpdb->get_results( "SELECT * FROM `{$wpdb->prefix}cky_cookies`" ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery } if ( isset( $results ) && ! empty( $results ) ) { if ( true === is_array( $results ) ) { foreach ( $results as $data ) { $item = $this->prepare_item( $data ); if ( ! empty( $item ) ) { $items[ $item->{$this->id} ] = $item; wp_cache_set( $this->cache_group . '_' . $item->{$this->id}, $item, $this->cache_group ); } } } else { $items = $this->prepare_item( $results ); wp_cache_set( $this->cache_group . '_' . $items->{$this->id}, $items, $this->cache_group ); } } return $items; } /** * Get a single item. * * @param integer $id Item ID. * @return array|object */ public function get_item( $id ) { if ( ! $id ) { return array(); } $cache_key = $this->cache_group . '_' . $id; $cached = wp_cache_get( $cache_key, $this->cache_group ); if ( false !== $cached ) { return $cached; } $item = $this->get_item_from_db( array( 'id' => $id ) ); return $item; } /** * Get cookies based on the category. * * @param boolean|integer $category Category id. * @return array */ public function get_items_by_category( $category = false ) { if ( ! $category ) { return array(); } $cache_key = $this->cache_group . '_category_' . $category; $cached = wp_cache_get( $cache_key, $this->cache_group ); if ( false !== $cached ) { return $cached; } $items = $this->get_item_from_db( array( 'category' => $category ) ); wp_cache_set( $cache_key, $items, $this->cache_group ); return $items; } /** * Create a new category * * @param object $object Category object. * @return void */ public function create_item( $object ) { global $wpdb; $date_created = current_time( 'mysql' ); $object->set_date_created( $date_created ); $object->set_date_modified( $date_created ); $wpdb->insert( // phpcs:ignore WordPress.DB.DirectDatabaseQuery $wpdb->prefix . 'cky_cookies', array( 'name' => $object->get_name(), 'slug' => $object->get_slug(), 'description' => wp_json_encode( $object->get_description() ), 'duration' => wp_json_encode( $object->get_duration() ), 'domain' => $object->get_domain(), 'category' => $object->get_category(), 'type' => $object->get_type(), 'discovered' => ( true === $object->is_discovered() ? 1 : 0 ), 'url_pattern' => $object->get_url_pattern(), 'meta' => wp_json_encode( $object->get_meta() ), 'date_created' => $object->get_date_created(), 'date_modified' => $object->get_date_modified(), ), array( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%d', '%s', '%s', '%s', '%s', ) ); $object->set_id( $wpdb->insert_id ); do_action( 'cky_after_update_cookie' ); } /** * Update an existing category on a local db. * * @param object $object category object. * @return void */ public function update_item( $object ) { global $wpdb; $wpdb->update( // phpcs:ignore WordPress.DB.DirectDatabaseQuery $wpdb->prefix . 'cky_cookies', array( 'name' => $object->get_name(), 'slug' => $object->get_slug(), 'description' => wp_json_encode( $object->get_description() ), 'duration' => wp_json_encode( $object->get_duration() ), 'domain' => $object->get_domain(), 'category' => $object->get_category(), 'type' => $object->get_type(), 'discovered' => ( true === $object->is_discovered() ? 1 : 0 ), 'url_pattern' => $object->get_url_pattern(), 'meta' => wp_json_encode( $object->get_meta() ), 'date_created' => $object->get_date_created(), 'date_modified' => $object->get_date_modified(), ), array( 'cookie_id' => $object->get_id() ), array( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%d', '%s', '%s', '%s', '%s', ) ); do_action( 'cky_after_update_cookie' ); } /** * Delet a cookie from the database. * * @param object $object Cookie object. * @return void */ public function delete_item( $object ) { global $wpdb; $wpdb->delete( // phpcs:ignore WordPress.DB.DirectDatabaseQuery $wpdb->prefix . 'cky_cookies', array( 'cookie_id' => $object->get_id(), ) ); do_action( 'cky_after_update_cookie' ); } /** * Properly sanitize category data before sending to the controllers. * * @param object $item Category raw data. * @return object */ public function prepare_item( $item ) { if ( false === is_object( $item ) ) { return false; } $object = new stdClass(); $object->cookie_id = isset( $item->cookie_id ) ? absint( $item->cookie_id ) : 0; $object->name = isset( $item->name ) ? sanitize_text_field( $item->name ) : ''; $object->slug = isset( $item->slug ) ? sanitize_text_field( $item->slug ) : ''; $object->description = isset( $item->description ) ? cky_sanitize_content( $this->prepare_json( $item->description ) ) : array(); $object->duration = isset( $item->duration ) ? cky_sanitize_content( $this->prepare_json( $item->duration ) ) : array(); $object->domain = isset( $item->domain ) ? sanitize_text_field( $item->domain ) : ''; $object->category = isset( $item->category ) ? absint( $item->category ) : ''; $object->type = isset( $item->type ) ? sanitize_text_field( $item->type ) : ''; $object->discovered = isset( $item->discovered ) ? absint( $item->discovered ) : 0; $object->url_pattern = isset( $item->url_pattern ) ? sanitize_textarea_field( $item->url_pattern ) : ''; $object->meta = isset( $item->meta ) ? cky_sanitize_content( $this->prepare_json( $item->meta ) ) : array(); $object->date_created = isset( $item->date_created ) ? sanitize_text_field( $item->date_created ) : ''; $object->date_modified = isset( $item->date_modified ) ? sanitize_text_field( $item->date_modified ) : ''; return $object; } /** * Decode a JSON string if necessary * * @param string $data String data. * @return array */ public function prepare_json( $data ) { return is_string( $data ) ? json_decode( ( $data ), true ) : $data; } } admin/modules/cookies/includes/class-cookie.php000064400000017154150514563140015647 0ustar00 '', 'slug' => '', 'description' => array(), 'duration' => array(), 'domain' => '', 'category' => '', 'type' => '', 'discovered' => false, 'url_pattern' => '', 'meta' => '', 'date_created' => null, 'date_modified' => null, ); /** * Constructor * * @param mixed $data ID or slug of the cookie. */ public function __construct( $data = '' ) { parent::__construct( $data ); if ( is_int( $data ) && 0 !== $data ) { $this->set_id( $data ); } if ( isset( $data->cookie_id ) ) { $this->set_id( $data->cookie_id ); $this->read_direct( $data ); } else { $this->get_data_from_db(); } } /** * Create a new cookie * * @param object $object instance of Cookie_Categories. * @return void */ public function create( $object ) { Cookie_Controller::get_instance()->create_item( $object ); } /** * Read cookie data from database * * @param object $cookie instance of Cookie_Categories. * @return void */ public function read( $cookie ) { $this->set_defaults(); $data = Cookie_Controller::get_instance()->get_item( $cookie->get_id() ); $this->set_data( $data ); } /** * Assign data to objects * * @param array|object $data Array of data. * @return void */ public function set_data( $data ) { if ( isset( $data->cookie_id ) ) { $this->set_multi_item_data( array( 'name' => $data->name, 'slug' => $data->slug, 'description' => $data->description, 'domain' => $data->domain, 'duration' => $data->duration, 'category' => $data->category, 'type' => $data->type, 'discovered' => $data->discovered, 'url_pattern' => $data->url_pattern, 'meta' => $data->meta, 'date_created' => $data->date_created, 'date_modified' => $data->date_modified, ) ); $this->set_loaded( true ); } } /** * Read directly from the data object given. * Used for assigning data to object if it is alread fetched from API or DB. * * @param array|object $data Category data. * @return void */ public function read_direct( $data ) { $this->set_data( $data ); } /** * Get an array of data required for APIs. * * @return array */ public function get_prepared_data() { return array( 'id' => $this->get_id(), 'name' => $this->get_name(), 'slug' => $this->get_slug(), 'description' => $this->get_description(), 'duration' => $this->get_duration(), 'type' => $this->get_type(), 'domain' => $this->get_domain(), 'discovered' => $this->is_discovered(), 'url_pattern' => $this->get_url_pattern(), 'category' => $this->get_category(), 'date_created' => $this->get_date_created(), 'date_modified' => $this->get_date_modified(), ); } /** * Update cookie category data * * @param object $object Instance of Cookie. * @return void */ public function update( $object ) { Cookie_Controller::get_instance()->update_item( $object ); } /** * Delete a cookie category from database * * @param object $object Cookie object. * @return void */ public function remove( $object ) { Cookie_Controller::get_instance()->delete_item( $object ); } /** * Get the type of a cookie * * @return string */ public function get_type() { return absint( $this->get_object_data( 'type' ) ); } /** * Get the cookie duration * * @return int */ public function get_duration() { $contents = array(); $prop = 'duration'; $data = $this->get_object_data( $prop ); $default = cky_default_language(); $languages = cky_selected_languages(); $default_content = isset( $data[ $default ] ) ? $data[ $default ] : ''; foreach ( $languages as $lang ) { $content = isset( $data[ $lang ] ) ? $data[ $lang ] : ''; $content = empty( $content ) ? $this->get_translations( $lang, $prop ) : $content; $content = empty( $content ) && 'view' === $this->get_context() ? $default_content : $content; $contents[ $lang ] = stripslashes( wp_kses_post( $content ) ); } return $contents; } /** * Return the cookie domain * * @return string */ public function get_domain() { return sanitize_text_field( $this->get_object_data( 'domain' ) ); } /** * Get cookie category id * * @return int */ public function get_category() { return absint( $this->get_object_data( 'category' ) ); } /** * Check whether the cookie is added manually or not. * * @return boolean */ public function is_discovered() { return (bool) $this->get_object_data( 'discovered' ); } /** * Get URL patterns for script blocking purposes. * * @return string */ public function get_url_pattern() { return $this->get_object_data( 'url_pattern' ); } /** * Return cookie meta data. * * @return array */ public function get_meta() { $meta = array(); $data = $this->get_object_data( 'meta' ); $data = ( isset( $data ) && is_array( $data ) ) ? $data : array(); foreach ( $data as $key => $item ) { $meta[ $key ] = sanitize_textarea_field( $item ); } return $meta; } /** * Set the cookie type * * @param string $type Cookie type. * @return void */ public function set_type( $type ) { $this->set_object_data( 'type', absint( $type ) ); } /** * Set the cookie duration * * @param string $data Cookie duration. * @return void */ public function set_duration( $data ) { $duration = array(); $languages = cky_selected_languages(); foreach ( $languages as $lang ) { $duration[ $lang ] = isset( $data[ $lang ] ) ? wp_filter_post_kses( $data[ $lang ] ) : ''; } $this->set_object_data( 'duration', $duration ); } /** * Set cookie category id * * @param integer $category Cookie category ID. * @return void */ public function set_category( $category ) { $this->set_object_data( 'category', absint( $category ) ); } /** * Set the status of a cookie if it is either added manually or automatically * * @param boolean $data True if cookie is added manually. * @return void */ public function set_discovered( $data ) { $this->set_object_data( 'discovered', (bool) $data ); } /** * Set cookie domain * * @param string $data Cookie domain. * @return void */ public function set_domain( $data ) { $this->set_object_data( 'domain', sanitize_text_field( $data ) ); } /** * Set URL pattern * * @param string $data URL pattern. * @return void */ public function set_url_pattern( $data ) { $this->set_object_data( 'url_pattern', sanitize_text_field( $data ) ); } /** * Set meta data * * @param array $data Meta data array. * @return void */ public function set_meta( $data ) { $this->set_object_data( 'meta', $data ); } /** * Get contents by language. * * @param string $lang Language code. * @param string $key Specific key if any. * @return string */ public function get_translations( $lang = '', $key = '' ) { return ''; } } admin/modules/cookies/class-cookies.php000064400000004505150514563140014220 0ustar00load_apis(); add_action( 'admin_init', array( Category_Controller::get_instance(), 'install_tables' ) ); add_action( 'cky_after_update_cookie', array( Category_Controller::get_instance(), 'delete_cache' ) ); add_action( 'cky_after_update_cookie_category', array( Cookie_Controller::get_instance(), 'delete_cache' ) ); add_action( 'cky_after_update_cookie_category', array( Category_Controller::get_instance(), 'delete_cache' ) ); add_action( 'admin_init', array( Cookie_Controller::get_instance(), 'reset_cache' ) ); add_action( 'admin_init', array( Category_Controller::get_instance(), 'reset_cache' ) ); add_action( 'admin_init', array( Cookie_Controller::get_instance(), 'install_tables' ) ); add_filter( 'cky_registered_admin_menus', array( $this, 'register_menus' ) ); add_action( 'cky_reinstall_tables', array( Category_Controller::get_instance(), 'reinstall' ) ); add_action( 'cky_reinstall_tables', array( Cookie_Controller::get_instance(), 'reinstall' ) ); } /** * Load API files * * @return void */ public function load_apis() { $cookie_cat_api = new Categories_API(); $cookie_api = new Cookies_API(); } /** * Pass menu items to be registered. * * @param array $menus Sub menu array. * @return array */ public function register_menus( $menus ) { $menus['cookies'] = array( 'name' => __( 'Cookie Manager', 'cookie-law-info' ), 'callback' => array( $this, 'menu_page_template' ), 'order' => 3, 'redirect' => CKY_APP_URL . '/manage-cookies', ); return $menus; } /** * Main menu template * * @return void */ public function menu_page_template() { echo '
'; } } admin/modules/uninstall-feedback/class-uninstall-feedback.php000064400000037241150514563140020421 0ustar00plugin_file ), array( $this, 'plugin_action_links' ) ); add_action( 'rest_api_init', array( $this, 'cky_register_routes' ) ); } /** * Register the routes for uninstall feedback. */ public function cky_register_routes() { register_rest_route( $this->namespace, $this->rest_base, array( 'methods' => 'POST', 'callback' => array( $this, 'send_uninstall_reason' ), 'permission_callback' => array( $this, 'create_item_permissions_check' ), ) ); } /** * Check if a given request has access to create an item. * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|boolean */ public function create_item_permissions_check( $request ) { if ( ! current_user_can( 'manage_options' ) ) { return new WP_Error( 'cookieyes_rest_cannot_create', __( 'Sorry, you are not allowed to create resources.', 'cookie-law-info' ), array( 'status' => rest_authorization_required_code() ) ); } return true; } /** * Edit action links * * @param array $links action links. * @return array */ public function plugin_action_links( $links ) { if ( array_key_exists( 'deactivate', $links ) ) { $links['deactivate'] = str_replace( ' 'setup-difficult', 'text' => __( 'Setup is too difficult/ Lack of documentation', 'cookie-law-info' ), 'fields' => array( array( 'type' => 'textarea', 'placeholder' => __( 'Describe the challenges that you faced while using our plugin', 'cookie-law-info' ), ), ), ), array( 'id' => 'not-have-that-feature', 'text' => __( 'The plugin is great, but I need specific feature that you don\'t support', 'cookie-law-info' ), 'fields' => array( array( 'type' => 'textarea', 'placeholder' => __( 'Could you tell us more about that feature?', 'cookie-law-info' ), ), ), ), array( 'id' => 'affecting-performance', 'text' => __( 'The plugin is affecting website speed', 'cookie-law-info' ), ), array( 'id' => 'found-better-plugin', 'text' => __( 'I found a better plugin', 'cookie-law-info' ), 'fields' => array( array( 'type' => 'text', 'placeholder' => __( 'Please share which plugin', 'cookie-law-info' ), ), ), ), array( 'id' => 'cookieyes-connection-issues', 'text' => __( 'I have issues while connecting to the CookieYes web app', 'cookie-law-info' ), 'fields' => array( array( 'type' => 'textarea', 'placeholder' => __( 'Please describe the issues', 'cookie-law-info' ), ), ), ), array( 'id' => 'use-cookieyes-webapp', 'text' => __( 'I would like to use the CookieYes web app instead of the plugin', 'cookie-law-info' ), ), array( 'id' => 'temporary-deactivation', 'text' => __( 'It’s a temporary deactivation', 'cookie-law-info' ), ), array( 'id' => 'other', 'text' => __( 'Other', 'cookie-law-info' ), 'fields' => array( array( 'type' => 'textarea', 'placeholder' => __( 'Please share the reason', 'cookie-law-info' ), ), ), ), ); return $reasons; } /** * Attach modal for feedback and uninstall * * @return void */ public function attach_feedback_modal() { global $pagenow; if ( 'plugins.php' !== $pagenow ) { return; } $reasons = $this->get_uninstall_reasons(); ?> sanitize_text_field( wp_unslash( $request['reason_id'] ) ), 'reason_detail' => ! empty( $request['reason_text'] ) ? sanitize_text_field( wp_unslash( $request['reason_text'] ) ) : null, 'date' => gmdate( 'M d, Y h:i:s A' ), 'comments' => ! empty( $request['reason_info'] ) ? sanitize_text_field( wp_unslash( $request['reason_info'] ) ) : null, 'server' => ! empty( $_SERVER['SERVER_SOFTWARE'] ) ? sanitize_text_field( wp_unslash( $_SERVER['SERVER_SOFTWARE'] ) ) : null, 'php_version' => phpversion(), 'mysql_version' => $wpdb->db_version(), 'wp_version' => get_bloginfo( 'version' ), 'wc_version' => defined( 'WC_VERSION' ) ? WC_VERSION : null, 'locale' => get_locale(), 'plugin_version' => $this->current_version, 'is_multisite' => is_multisite(), ); $response = wp_remote_post( $this->api_url, array( 'headers' => array( 'Content-Type' => 'application/json; charset=utf-8' ), 'method' => 'POST', 'timeout' => 45, 'redirection' => 5, 'httpversion' => '1.0', 'blocking' => false, 'body' => wp_json_encode( $data ), 'cookies' => array(), ) ); wp_send_json_success(); } } admin/modules/dashboard/api/class-api.php000064400000003236150514563140014401 0ustar00namespace, '/' . $this->rest_base . '/summary', array( array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_items' ), 'permission_callback' => array( $this, 'get_items_permissions_check' ), 'args' => $this->get_collection_params(), ), 'schema' => array( $this, 'get_public_item_schema' ), ) ); } /** * Get a collection of items. * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|WP_REST_Response */ public function get_items( $request ) { $data = Controller::get_instance()->get_items(); return rest_ensure_response( $data ); } } // End the class. admin/modules/dashboard/class-dashboard.php000064400000001136150514563140015003 0ustar00load_apis(); } /** * Load API files * * @return void */ public function load_apis() { new Api(); } } admin/modules/dashboard/includes/class-controller.php000064400000003404150514563140017045 0ustar00get_website_id() ) { return $data; } $response = $this->get( 'websites/' . $this->get_website_id() . '/dashboard' ); $response_code = wp_remote_retrieve_response_code( $response ); if ( 200 === $response_code ) { $response = json_decode( wp_remote_retrieve_body( $response ), true ); $stats = isset( $response['statistics'] ) ? $response['statistics'] : array(); $data = array( 'cookies' => isset( $stats['total_cookies'] ) ? $stats['total_cookies'] : 0, 'scripts' => isset( $stats['total_scripts'] ) ? $stats['total_scripts'] : 0, 'categories' => isset( $stats['total_categories'] ) ? $stats['total_categories'] : 0, 'pages' => isset( $stats['total_pages'] ) ? $stats['total_pages'] : 0, ); } return $data; } } admin/modules/settings/api/class-api.php000064400000035464150514563140014322 0ustar00namespace, '/' . $this->rest_base, array( array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_items' ), 'permission_callback' => array( $this, 'get_items_permissions_check' ), 'args' => $this->get_collection_params(), ), array( 'methods' => WP_REST_Server::CREATABLE, 'callback' => array( $this, 'create_item' ), 'permission_callback' => array( $this, 'create_item_permissions_check' ), 'args' => $this->get_endpoint_args_for_item_schema( WP_REST_Server::CREATABLE ), ), 'schema' => array( $this, 'get_public_item_schema' ), ) ); register_rest_route( $this->namespace, '/' . $this->rest_base . '/laws', array( array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_laws' ), 'permission_callback' => array( $this, 'get_items_permissions_check' ), 'args' => $this->get_collection_params(), ), ) ); register_rest_route( $this->namespace, '/' . $this->rest_base . '/info', array( array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_info' ), 'permission_callback' => array( $this, 'get_items_permissions_check' ), 'args' => $this->get_collection_params(), ), ) ); register_rest_route( $this->namespace, '/' . $this->rest_base . '/disconnect', array( array( 'methods' => WP_REST_Server::CREATABLE, 'callback' => array( $this, 'disconnect' ), 'permission_callback' => array( $this, 'create_item_permissions_check' ), 'args' => $this->get_collection_params(), ), ) ); register_rest_route( $this->namespace, '/' . $this->rest_base . '/sync', array( 'args' => array( 'id' => array( 'description' => __( 'Unique identifier for the resource.', 'cookie-law-info' ), 'type' => 'integer', ), ), array( 'methods' => WP_REST_Server::CREATABLE, 'callback' => array( $this, 'send_items' ), 'permission_callback' => array( $this, 'get_item_permissions_check' ), 'args' => $this->get_endpoint_args_for_item_schema( WP_REST_Server::CREATABLE ), ), 'schema' => array( $this, 'get_public_item_schema' ), ) ); register_rest_route( $this->namespace, '/' . $this->rest_base . '/cache/purge', array( array( 'methods' => WP_REST_Server::CREATABLE, 'callback' => array( $this, 'clear_cache' ), 'permission_callback' => array( $this, 'create_item_permissions_check' ), 'args' => $this->get_collection_params(), ), ) ); register_rest_route( $this->namespace, '/' . $this->rest_base . '/notices/(?P[a-zA-Z0-9-_]+)', array( array( 'methods' => WP_REST_Server::CREATABLE, 'callback' => array( $this, 'update_notice' ), 'permission_callback' => array( $this, 'create_item_permissions_check' ), 'args' => $this->get_collection_params(), ), ) ); register_rest_route( $this->namespace, '/' . $this->rest_base . '/reinstall', array( array( 'methods' => WP_REST_Server::CREATABLE, 'callback' => array( $this, 'install_missing_tables' ), 'permission_callback' => array( $this, 'create_item_permissions_check' ), 'args' => $this->get_collection_params(), ), ) ); } /** * Get a collection of items. * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|WP_REST_Response */ public function get_items( $request ) { $object = new Settings(); $data = $object->get(); return rest_ensure_response( $data ); } /** * Create a single cookie or cookie category. * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|WP_REST_Response */ public function create_item( $request ) { $data = $this->prepare_item_for_database( $request ); $context = ! empty( $request['context'] ) ? $request['context'] : 'view'; $data = $this->add_additional_fields_to_object( $data, $request ); $data = $this->filter_response_by_context( $data, $context ); return rest_ensure_response( $data ); } /** * Fetch default laws from database * * @param array $request WP_REST_Request $request Full details about the request. * @return array */ public function get_laws( $request = array() ) { $object = array( array( 'slug' => 'gdpr', 'title' => __( 'GDPR (General Data Protection Regulation)', 'cookie-law-info' ), 'description' => __( 'Continue with the GDPR template if most of your targeted audience are from the EU or UK. It creates a customizable banner that allows your visitors to accept/reject cookies or adjust their consent preferences.', 'cookie-law-info' ), 'tooltip' => __( 'Choose GDPR if most of your targeted audience are from the EU or UK. It creates a customizable banner that allows your visitors to accept/reject cookies or adjust their consent preferences.', 'cookie-law-info' ), ), array( 'slug' => 'ccpa', 'title' => __( 'CCPA (California Consumer Privacy Act)', 'cookie-law-info' ), 'description' => __( 'Choose CCPA if most of your targeted audience are from California or US. This will create a customizable banner with a “Do Not Sell My Personal Information†link that allows your visitors to refuse the use of cookies.', 'cookie-law-info' ), 'tooltip' => __( 'Choose CCPA if most of your targeted audience are from California or US. It creates a customizable banner with a “Do Not Sell My Personal Information†link that allows your visitors to refuse the use of cookies.', 'cookie-law-info' ), ), array( 'slug' => 'info', 'title' => __( 'INFO (Information Display Banner)', 'cookie-law-info' ), 'description' => __( 'Choose INFO if you do not want to block any cookies on your website. This will create a dismissible banner that provides some general information to your site visitors.', 'cookie-law-info' ), 'tooltip' => __( 'Choose Info if you do not want to block any cookies on your website. It creates a dismissible banner that provides some general info to your site visitors.', 'cookie-law-info' ), ), ); $data = $this->prepare_item_for_response( $object, $request ); return rest_ensure_response( $data ); } /** * Get site info including the features allowed for the current plan. * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|WP_REST_Response */ public function get_info( $request ) { $args = array(); $registered = $this->get_collection_params(); if ( isset( $registered['force'], $request['force'] ) ) { $args['force'] = (bool) $request['force']; } $response = Controller::get_instance()->get_info( $args ); if ( empty( $response ) ) { $data = array(); } else { $data = $this->prepare_item_for_response( $response, $request ); } $objects = $this->prepare_response_for_collection( $data ); return rest_ensure_response( $objects ); } /** * Send data directly to CookieYes web app. * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|WP_REST_Response */ public function send_items( $request ) { $response = Controller::get_instance()->sync(); if ( empty( $response ) ) { $data = array(); } else { $data = $this->prepare_item_for_response( $response, $request ); } $objects = $this->prepare_response_for_collection( $data ); return rest_ensure_response( $objects ); } /** * Clear cache of all the modules * * @return WP_Error|WP_REST_Response */ public function clear_cache() { $banner_controller = new \CookieYes\Lite\Admin\Modules\Banners\Includes\Controller(); $category_controller = new \CookieYes\Lite\Admin\Modules\Cookies\Includes\Category_Controller(); $cookie_controller = new \CookieYes\Lite\Admin\Modules\Cookies\Includes\Cookie_Controller(); $banner_controller->delete_cache(); $category_controller->delete_cache(); $cookie_controller->delete_cache(); wp_cache_flush(); $data = array( 'status' => true ); return rest_ensure_response( $data ); } /** * Initiate disconnect request. * * @return WP_Error|WP_REST_Response */ public function disconnect() { $response = Controller::get_instance()->disconnect(); return rest_ensure_response( $response ); } /** * Update the status of admin notices. * * @param object $request Request. * @return WP_Error|WP_REST_Response */ public function update_notice( $request ) { $response = array( 'status' => false ); $notice = isset( $request['notice'] ) ? $request['notice'] : false; $expiry = isset( $request['expiry'] ) ? intval( $request['expiry'] ) : 0; if ( $notice ) { Notice::get_instance()->dismiss( $notice, $expiry ); $response['status'] = true; } return rest_ensure_response( $response ); } /** * Update the status of admin notices. * * @param object $request Request. * @return WP_Error|WP_REST_Response */ public function install_missing_tables( $request ) { $missing_tables = cky_missing_tables(); if ( count( $missing_tables ) > 0 ) { do_action( 'cky_reinstall_tables' ); do_action( 'cky_clear_cache' ); } return rest_ensure_response( array( 'success' => true ) ); } /** * Format data to provide output to API * * @param object $object Object of the corresponding item Cookie or Cookie_Categories. * @param array $request Request params. * @return array */ public function prepare_item_for_response( $object, $request ) { $context = ! empty( $request['context'] ) ? $request['context'] : 'view'; $data = $this->add_additional_fields_to_object( $object, $request ); $data = $this->filter_response_by_context( $data, $context ); return rest_ensure_response( $data ); } /** * Prepare a single item for create or update. * * @param WP_REST_Request $request Request object. * @return stdClass */ public function prepare_item_for_database( $request ) { $object = new Settings(); $data = $object->get(); $schema = $this->get_item_schema(); $properties = isset( $schema['properties'] ) && is_array( $schema['properties'] ) ? $schema['properties'] : array(); if ( ! empty( $properties ) ) { $properties_keys = array_keys( array_filter( $properties, function( $property ) { return isset( $property['readonly'] ) && true === $property['readonly'] ? false : true; } ) ); foreach ( $properties_keys as $key ) { $value = isset( $request[ $key ] ) ? $request[ $key ] : ''; $data[ $key ] = $value; } } $object->update( $data ); return $object->get(); } /** * Get the query params for collections. * * @return array */ public function get_collection_params() { return array( 'context' => $this->get_context_param( array( 'default' => 'view' ) ), 'paged' => array( 'description' => __( 'Current page of the collection.', 'cookie-law-info' ), 'type' => 'integer', 'default' => 1, 'sanitize_callback' => 'absint', 'validate_callback' => 'rest_validate_request_arg', 'minimum' => 1, ), 'per_page' => array( 'description' => __( 'Maximum number of items to be returned in result set.', 'cookie-law-info' ), 'type' => 'integer', 'default' => 10, 'minimum' => 1, 'maximum' => 100, 'sanitize_callback' => 'absint', 'validate_callback' => 'rest_validate_request_arg', ), 'search' => array( 'description' => __( 'Limit results to those matching a string.', 'cookie-law-info' ), 'type' => 'string', 'sanitize_callback' => 'sanitize_text_field', 'validate_callback' => 'rest_validate_request_arg', ), 'force' => array( 'type' => 'boolean', 'description' => __( 'Force fetch data', 'cookie-law-info' ), ), ); } /** * Get the Consent logs's schema, conforming to JSON Schema. * * @return array */ public function get_item_schema() { $schema = array( '$schema' => 'http://json-schema.org/draft-04/schema#', 'title' => 'consentlogs', 'type' => 'object', 'properties' => array( 'id' => array( 'description' => __( 'Unique identifier for the resource.', 'cookie-law-info' ), 'type' => 'integer', 'context' => array( 'view' ), 'readonly' => true, ), 'site' => array( 'description' => __( 'Unique identifier for the resource.', 'cookie-law-info' ), 'type' => 'object', 'context' => array( 'view', 'edit' ), ), 'api' => array( 'description' => __( 'Language.', 'cookie-law-info' ), 'type' => 'object', 'context' => array( 'view', 'edit' ), ), 'account' => array( 'description' => __( 'Language.', 'cookie-law-info' ), 'type' => 'object', 'context' => array( 'view', 'edit' ), ), 'consent_logs' => array( 'description' => __( 'Language.', 'cookie-law-info' ), 'type' => 'object', 'context' => array( 'view', 'edit' ), ), 'languages' => array( 'description' => __( 'Language.', 'cookie-law-info' ), 'type' => 'object', 'context' => array( 'view', 'edit' ), ), 'onboarding' => array( 'description' => __( 'Language.', 'cookie-law-info' ), 'type' => 'object', 'context' => array( 'view', 'edit' ), ), ), ); return $this->add_additional_fields_schema( $schema ); } } // End the class. admin/modules/settings/class-settings.php000064400000002425150514563140014627 0ustar00load_default(); $this->load_apis(); } /** * Load API files * * @return void */ public function load_apis() { new Api(); } /** * Main menu template * * @return void */ public function menu_page_template() { echo '
'; } /** * Load default settings to the database. * * @return void */ public function load_default() { if ( false === cky_first_time_install() ) { return; } $settings = new \CookieYes\Lite\Admin\Modules\Settings\Includes\Settings(); $default = $settings->get_defaults(); $settings->update( $default ); } } admin/modules/settings/includes/class-settings.php000064400000013204150514563140016432 0ustar00data = $this->get_defaults(); } /** * Get default plugin settings * * @return array */ public function get_defaults() { return array( 'site' => array( 'url' => get_site_url(), 'installed' => time(), ), 'api' => array( 'token' => '', ), 'account' => array( 'email' => '', 'domain' => '', 'connected' => false, 'plan' => 'free', 'website_id' => '', 'website_key' => '', ), 'consent_logs' => array( 'status' => true, ), 'languages' => array( 'selected' => array( 'en' ), 'default' => 'en', ), 'onboarding' => array( 'step' => 2, ), ); } /** * Get settings * * @param string $group Name of the group. * @param string $key Name of the key. * @return array */ public function get( $group = '', $key = '' ) { $settings = get_option( 'cky_settings', $this->data ); $settings = self::sanitize( $settings, $this->data ); if ( empty( $key ) && empty( $group ) ) { return $settings; } elseif ( ! empty( $key ) && ! empty( $group ) ) { $settings = isset( $settings[ $group ] ) ? $settings[ $group ] : array(); return isset( $settings[ $key ] ) ? $settings[ $key ] : array(); } else { return isset( $settings[ $group ] ) ? $settings[ $group ] : array(); } } /** * Excludes a key from sanitizing multiple times. * * @return array */ public static function get_excludes() { return array( 'selected', ); } /** * Update settings to database. * * @param array $data Array of settings data. * @return void */ public function update( $data ) { $settings = get_option( 'cky_settings', $this->data ); $settings = self::sanitize( $data, $settings ); update_option( 'cky_settings', $settings ); do_action( 'cky_after_update_settings', $settings ); } /** * Sanitize options * * @param array $settings Input settings array. * @param array $defaults Default settings array. * @return array */ public static function sanitize( $settings, $defaults ) { $result = array(); $exludes = self::get_excludes(); foreach ( $defaults as $key => $data ) { $value = isset( $settings[ $key ] ) ? $settings[ $key ] : $data; if ( in_array( $key, $exludes, true ) ) { $result[ $key ] = self::sanitize_option( $key, $value ); continue; } if ( is_array( $value ) ) { $result[ $key ] = self::sanitize( $value, $data ); } else { if ( is_string( $key ) ) { $result[ $key ] = self::sanitize_option( $key, $value ); } } } return $result; } /** * Sanitize the option values * * @param string $option The name of the option. * @param string $value The unsanitised value. * @return string Sanitized value. */ public static function sanitize_option( $option, $value ) { switch ( $option ) { case 'connected': case 'status': case 'connected': $value = cky_sanitize_bool( $value ); break; case 'installed': case 'step': $value = absint( $value ); break; default: $value = cky_sanitize_text( $value ); break; } return $value; } // Getter Functions. /** * Get account token for authentication. * * @return string */ public function get_token() { return $this->get( 'api', 'token' ); } /** * Check whether the site is connected to CookieYes Webapp. * * @return boolean */ public function is_connected() { return $this->get( 'account', 'connected' ); } /** * Get website ID * * @return string */ public function get_website_id() { return $this->get( 'account', 'website_id' ); } /** * Get website ID * * @return string */ public function get_plan() { return $this->get( 'account', 'plan' ); } /** * Get the website key * * @return string */ public function get_website_key() { return $this->get( 'account', 'website_key' ); } /** * Get current site URL. * * @return string */ public function get_url() { return $this->get( 'site', 'url' ); } /** * Get the script URL * * @return string */ public function get_script_url() { return CKY_APP_CDN_URL . '/client_data/' . $this->get_website_key() . '/script.js'; } /** * Get consent log status * * @return boolean */ public function get_consent_log_status() { return (bool) $this->get( 'consent_logs', 'status' ); } /** * Returns the default language code * * @return string */ public function get_default_language() { return sanitize_text_field( $this->get( 'languages', 'default' ) ); } /** * Returns the selected languages. * * @return array */ public function get_selected_languages() { return cky_sanitize_text( $this->get( 'languages', 'selected' ) ); } /** * First installed date of the plugin. * * @return string */ public function get_installed_date() { return $this->get( 'site', 'installed' ); } } admin/modules/settings/includes/class-controller.php000064400000036026150514563140016764 0ustar00get(); $data['settings']['url'] = get_site_url(); return $data; } /** * Sync data to CookieYes web app. * * @return array */ public function sync() { $settings = new Settings(); $this->make_auth_request(); $data = $this->prepare_data(); $response = $this->post( 'websites/' . $this->get_website_id() . '/sync', wp_json_encode( $data ) ); $response_code = wp_remote_retrieve_response_code( $response ); if ( 200 !== $response_code ) { return false; } $response = json_decode( wp_remote_retrieve_body( $response ), true ); if ( ! array_key_exists( 'scriptUrl', $response ) ) { return false; } do_action( 'cky_after_connect' ); return $settings->get(); } /** * This API should be called to disconnect from the web app. * * @return boolean */ public function disconnect() { $settings = new Settings(); $options = $settings->get(); $this->make_auth_request(); $response = $this->post( 'plugin/disconnect', wp_json_encode( array( 'website_id' => $settings->get_website_id(), 'platform' => 'wordpress', ) ) ); $response_code = wp_remote_retrieve_response_code( $response ); if ( 200 !== $response_code ) { return false; } $options['api']['token'] = ''; $settings->update( $options ); do_action( 'cky_after_connect' ); return true; } /** * Prepare entire data before sending. * * @return array */ public function prepare_data() { $settings = new Settings(); $data = array(); $item = \CookieYes\Lite\Admin\Modules\Banners\Includes\Controller::get_instance()->get_active_item(); $banner = new \CookieYes\Lite\Admin\Modules\Banners\Includes\Banner( $item ); /** General Settings */ $data['settings'] = array( 'plan' => $settings->get_plan(), 'domain' => home_url(), 'consentLog' => array( 'status' => true, ), ); $data['categories'] = $this->prepare_cookies(); $data['banners'] = $this->prepare_banners(); return $data; } /** * Prepare and format cookies prior to syncing. * * @return array */ public function prepare_cookies() { $data = array(); $items = \CookieYes\Lite\Admin\Modules\Cookies\Includes\Category_Controller::get_instance()->get_items(); foreach ( $items as $item ) { $object = new \CookieYes\Lite\Admin\Modules\Cookies\Includes\Cookie_Categories( $item ); $data[] = array( 'name' => $object->get_name(), 'description' => $object->get_description(), 'slug' => $object->get_slug(), 'isNecessaryLike' => 'necessary' === $object->get_slug() ? true : false, 'active' => true, 'defaultConsent' => array( 'gdpr' => $object->get_slug() === 'necessary' ? true : $object->get_prior_consent(), 'ccpa' => $object->get_sell_personal_data() === true && $object->get_slug() !== 'necessary' ? false : true, ), 'cookies' => $this->get_cookies( $object->get_id() ), ); } return $data; } /** * Get cookies by category * * @param string $category Category slug. * @return array */ public function get_cookies( $category = '' ) { $data = array(); $items = \CookieYes\Lite\Admin\Modules\Cookies\Includes\Cookie_Controller::get_instance()->get_items_by_category( $category ); foreach ( $items as $item ) { $object = new \CookieYes\Lite\Admin\Modules\Cookies\Includes\Cookie( $item ); $data[] = array( 'cookie_id' => $object->get_name(), 'type' => $object->get_type(), 'domain' => $object->get_domain(), 'duration' => $object->get_duration(), 'description' => $object->get_description(), 'website_id' => $this->get_website_id(), 'provider' => $object->get_url_pattern(), ); } return $data; } /** * Prepare and format banners prior to sync. * * @return array */ public function prepare_banners() { $items = \CookieYes\Lite\Admin\Modules\Banners\Includes\Controller::get_instance()->get_items(); $banners = array(); foreach ( $items as $item ) { $object = new \CookieYes\Lite\Admin\Modules\Banners\Includes\Banner( $item ); $banner = array( 'id' => $object->get_id(), 'name' => $object->get_name(), 'slug' => $object->get_slug(), 'default' => $object->get_default(), 'status' => ( true === $object->get_status() ? 'active' : 'inactive' ), ); $data = array_merge( $banner, array_merge( $object->get_settings(), array( 'content' => $object->get_contents() ) ) ); $data['settings']['languages']['selected'] = cky_selected_languages(); $data['settings']['languages']['default'] = cky_default_language(); $data['settings']['ruleSet'] = array( array( 'code' => 'ALL', 'regions' => array(), ), ); $banners[] = $data; } return $banners; } /** * Fetch site info from either locally or from API. * * @param array $args Array of arguments. * @return array */ public function get_info( $args = array() ) { $data = array(); if ( false === cky_is_cloud_request() ) { $data = $this->get_site_info( $args ); } else { $data = $this->get_app_info( $args ); } return $data; } /** * Get the current plan details and features list from a local DB. * * @param array $args Array of arguments. * @return array */ public function get_site_info( $args = array() ) { return $this->get_default(); } /** * Get default site info. * * @return array */ public function get_default() { $settings = new Settings(); $scan = \CookieYes\Lite\Admin\Modules\Scanner\Includes\Controller::get_instance()->get_info(); return array( 'id' => '', 'url' => get_site_url(), 'plan' => array( 'id' => '', 'slug' => 'free', 'name' => __( 'Free', 'cookie-law-info' ), 'description' => __( 'Free Plan', 'cookie-law-info' ), 'scan_limit' => '100', 'log_limit' => 5000, 'features' => array( 'multi_law' => false, 'custom_css' => false, 'custom_branding' => false, 'config_geo_rules' => false, 'max_free_websites' => 1, 'remove_powered_by' => false, 'popup_layout' => false, ), ), 'banners' => array( 'status' => \CookieYes\Lite\Admin\Modules\Banners\Includes\Controller::get_instance()->check_status(), ), 'consent_logs' => array( 'status' => $settings->get_consent_log_status(), ), 'scans' => array( 'date' => isset( $scan['date'] ) ? $scan['date'] : '', 'status' => isset( $scan['status'] ) ? $scan['status'] : false, ), 'languages' => array( 'default' => $settings->get_default_language(), ), 'tables_missing' => count( cky_missing_tables() ) > 0 ? true : false, ); } /** * Check API before initializing the plugin. * * @return void */ public function check_api() { if ( ! cky_is_cloud_request() ) { return; } $response = $this->get_app_info(); if ( is_wp_error( $response ) ) { return; } $this->maybe_update_settings( $response ); } /** * Maybe update the plugin settings if required. * * @param array $response Response from the web app. * @return void */ public function maybe_update_settings( $response ) { $settings = new Settings(); $data = $settings->get(); $data['consent_logs'] = isset( $response['consent_logs'] ) ? $response['consent_logs'] : array(); $data['languages'] = isset( $response['languages'] ) ? $response['languages'] : array(); update_option( 'cky_settings', $data ); } /** * Load site info from the web app. * * @param array $args Array of arguments. * @return array */ public function get_app_info( $args = array() ) { $data = array(); if ( ! $this->get_website_id() ) { return new WP_Error( 'cky_invalide_website_id', __( 'Invalid Website ID', 'cookie-law-info' ), array( 'status' => 404 ) ); } $response = $this->get( 'websites/' . $this->get_website_id() ); $response_code = wp_remote_retrieve_response_code( $response ); if ( 200 === $response_code ) { $response = json_decode( wp_remote_retrieve_body( $response ), true ); $plan = isset( $response['websiteplan'] ) ? $response['websiteplan'] : array(); $features = isset( $plan['features'] ) ? $plan['features'] : array(); $scan_timestamp = isset( $response['last_scan_at'] ) ? strtotime( sanitize_text_field( $response['last_scan_at'] ) ) : false; $date = isset( $scan_timestamp ) && is_int( $scan_timestamp ) ? gmdate( 'd M Y', $scan_timestamp ) : ''; $time = isset( $scan_timestamp ) && is_int( $scan_timestamp ) ? gmdate( 'H:i:s', $scan_timestamp ) : ''; $applicable_laws = isset( $response['applicableLaws'] ) ? $response['applicableLaws'] : array( 'gdpr' ); $applicable_laws = implode( ' & ', $applicable_laws ); $grace_period = isset( $response['grace_period_ends_at'] ) ? strtotime( sanitize_text_field( $response['grace_period_ends_at'] ) ) : false; $grace_period_ends = isset( $grace_period ) && is_int( $grace_period ) ? gmdate( 'F d, Y', $grace_period ) : ''; $data = array( 'id' => $this->get_website_id(), 'url' => isset( $response['url'] ) ? esc_url_raw( $response['url'] ) : esc_url_raw( get_site_url() ), 'status' => isset( $response['status'] ) ? sanitize_text_field( $response['status'] ) : '', 'plan' => array( 'id' => isset( $plan['id'] ) ? sanitize_text_field( $plan['id'] ) : '', 'slug' => isset( $plan['slug'] ) ? sanitize_text_field( $plan['slug'] ) : '', 'name' => isset( $plan['name'] ) ? sanitize_text_field( $plan['name'] ) : '', 'description' => isset( $plan['description'] ) ? sanitize_text_field( $plan['description'] ) : '', 'scan_limit' => isset( $plan['scan_limit'] ) ? absint( $plan['scan_limit'] ) : 100, 'log_limit' => isset( $plan['log_limit'] ) ? absint( $plan['log_limit'] ) : 5000, 'log_limit' => isset( $plan['log_limit'] ) ? absint( $plan['log_limit'] ) : 5000, 'features' => array( 'multi_law' => isset( $features['multi_law'] ) && true === $features['multi_law'] ? true : false, 'custom_css' => isset( $features['custom_css'] ) && true === $features['custom_css'] ? true : false, 'custom_branding' => isset( $features['custom_branding'] ) && true === $features['custom_branding'] ? true : false, 'config_geo_rules' => isset( $features['config_geo_rules'] ) && true === $features['config_geo_rules'] ? true : false, 'max_free_websites' => isset( $plan['max_free_websites'] ) ? absint( $plan['max_free_websites'] ) : 1, 'remove_powered_by' => isset( $features['remove_powered_by'] ) && true === $features['remove_powered_by'] ? true : false, 'popup_layout' => isset( $features['popup_layout'] ) && true === $features['popup_layout'] ? true : false, ), ), 'banners' => array( 'status' => isset( $response['banner_status'] ) && 1 === $response['banner_status'] ? true : false, 'laws' => $applicable_laws, ), 'consent_logs' => array( 'status' => isset( $response['visitor_log'] ) && true === $response['visitor_log'] ? true : false, ), 'scans' => array( 'date' => array( 'date' => $date, 'time' => $time, ), 'status' => isset( $response['last_scan_at'] ) && '' !== $response['last_scan_at'] ? true : false, ), 'languages' => array( 'selected' => isset( $response['language']['preferred'] ) ? cky_sanitize_text( $response['language']['preferred'] ) : array(), 'default' => isset( $response['settings_json']['defaultLanguage'] ) ? cky_sanitize_text( $response['settings_json']['defaultLanguage'] ) : 'en', ), 'tables_missing' => false, 'pageviews' => array( 'count' => isset( $response['pageviews']['views'] ) ? absint( $response['pageviews']['views'] ) : 0, 'limit' => isset( $response['pageviews']['views_limit'] ) ? absint( $response['pageviews']['views_limit'] ) : 25000, 'exceeded' => isset( $response['pageviews']['limit_exceeded'] ) && 1 === absint( $response['pageviews']['limit_exceeded'] ), ), 'website' => array( 'status' => isset( $response['website_status'] ) ? sanitize_text_field( $response['website_status'] ) : 'active', 'is_trial' => isset( $response['is_trial'] ) && true === $response['is_trial'], 'is_trial_with_card' => isset( $response['trial_with_card'] ) && true === $response['trial_with_card'], 'grace_period_ends_at' => $grace_period_ends, 'payment_status' => isset( $response['payment_status'] ) && true === $response['payment_status'], ), ); return $data; } return new WP_Error( 'cky_api_fetching_failed', __( 'Failed to fetch data from the API', 'cookie-law-info' ), array( 'status' => 400 ) ); } /** * Force update app settings if any changes from the plugin side. * * @param array $settings Settings array. * @return void */ public function maybe_update_app_settings( $settings = array() ) { if ( ! cky_is_cloud_request() || ! $this->get_website_id() ) { return; } $data = array( 'preferred_languages' => isset( $settings['languages']['selected'] ) ? $settings['languages']['selected'] : array(), 'default_language' => isset( $settings['languages']['default'] ) ? $settings['languages']['default'] : 'en', 'visitor_log' => isset( $settings['consent_logs']['status'] ) && true === $settings['consent_logs']['status'] ? 1 : 0, ); $response = $this->put( 'websites/' . $this->get_website_id(), wp_json_encode( $data ) ); $response_code = wp_remote_retrieve_response_code( $response ); if ( 200 !== $response_code ) { return new WP_Error( 'cky_api_settings_update_failed', __( 'Failed to the update the data to web app', 'cookie-law-info' ), array( 'status' => 200 ) ); } } /** * Delete the cache. * * @return void */ public function delete_cache() { wp_cache_flush(); } } admin/modules/scanner/api/class-api.php000064400000027756150514563140014120 0ustar00controller = $controller; } /** * Register the routes for cookies. */ public function register_routes() { register_rest_route( $this->namespace, '/' . $this->rest_base, array( array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_items' ), 'permission_callback' => array( $this, 'get_items_permissions_check' ), 'args' => $this->get_collection_params(), ), array( 'methods' => WP_REST_Server::CREATABLE, 'callback' => array( $this, 'create_item' ), 'permission_callback' => array( $this, 'create_item_permissions_check' ), 'args' => $this->get_endpoint_args_for_item_schema( WP_REST_Server::CREATABLE ), ), 'schema' => array( $this, 'get_public_item_schema' ), ) ); register_rest_route( $this->namespace, '/' . $this->rest_base . '/(?P[\d]+)', array( 'args' => array( 'id' => array( 'description' => __( 'Unique identifier for the resource.', 'cookie-law-info' ), 'type' => 'integer', ), ), array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_item' ), 'permission_callback' => array( $this, 'get_item_permissions_check' ), 'args' => array( 'context' => $this->get_context_param( array( 'default' => 'view' ) ), ), ), ) ); register_rest_route( $this->namespace, '/' . $this->rest_base . '/details/(?P[\d]+)', array( 'args' => array( 'id' => array( 'description' => __( 'Unique identifier for the resource.', 'cookie-law-info' ), 'type' => 'integer', ), ), array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_details' ), 'permission_callback' => array( $this, 'get_item_permissions_check' ), 'args' => array( 'context' => $this->get_context_param( array( 'default' => 'view' ) ), ), ), ) ); } /** * Get scan histories * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|WP_REST_Response */ public function get_items( $request ) { $history_details = array(); $history_args = array( 'per_page' => isset( $request['per_page'] ) ? absint( $request['per_page'] ) : 10, 'page' => isset( $request['page'] ) ? absint( $request['page'] ) : 1, ); $response = $this->controller->get_history( $history_args ); $response_code = wp_remote_retrieve_response_code( $response ); if ( 200 === $response_code ) { $items = json_decode( wp_remote_retrieve_body( $response ), true ); if ( isset( $items['data'] ) ) { foreach ( $items['data'] as $index => $item ) { $data = new stdClass(); $data->id = isset( $item['id'] ) ? absint( $item['id'] ) : 0; $data->scan_status = isset( $item['scan_status'] ) ? sanitize_text_field( $item['scan_status'] ) : ''; $data->pages_scanned = isset( $item['pages_scanned'] ) ? absint( $item['pages_scanned'] ) : 0; $data->total_categories = isset( $item['total_categories'] ) ? absint( $item['total_categories'] ) : 0; $data->total_cookies = isset( $item['total_cookies'] ) ? absint( $item['total_cookies'] ) : 0; $data->total_scripts = isset( $item['total_scripts'] ) ? absint( $item['total_scripts'] ) : 0; $data->created_at = isset( $item['created_at'] ) ? sanitize_text_field( $item['created_at'] ) : ''; if ( ! empty( $data ) ) { $history_details['data'][ $index ] = $data; } } } $pagination_data = new stdClass(); $pagination_data->per_page = isset( $items['per_page'] ) ? absint( $items['per_page'] ) : 10; $pagination_data->total = isset( $items['total'] ) ? absint( $items['total'] ) : 0; if ( ! empty( $pagination_data ) ) { $history_details['pagination'] = $pagination_data; } } return $history_details; } /** * Get individual scan details * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|WP_REST_Response */ public function get_details( $request ) { $scan_id = (int) $request['id']; $scan_details = array(); if ( 0 === $scan_id ) { return new WP_Error( 'cookieyes_rest_invalid_id', __( 'Invalid ID.', 'cookie-law-info' ), array( 'status' => 404 ) ); } $response = $this->controller->get_scan_details( $scan_id ); $response_code = wp_remote_retrieve_response_code( $response ); if ( 200 === $response_code ) { $items = json_decode( wp_remote_retrieve_body( $response ), true ); $data = new stdClass(); $data->id = isset( $items['id'] ) ? absint( $items['id'] ) : 0; $scan_date = isset( $items['scan_date'] ) ? sanitize_text_field( $items['scan_date'] ) : ''; if ( ! empty( $scan_date ) ) { $scan_date_time = new \DateTime( $scan_date ); $data->scan_date = cky_i18n_date( $scan_date_time->format( 'U' ) ); } $data->scan_status = isset( $items['scan_status'] ) ? sanitize_text_field( $items['scan_status'] ) : ''; $data->total_pages = isset( $items['total_pages'] ) ? absint( $items['total_pages'] ) : 0; $data->total_categories = isset( $items['total_categories'] ) ? absint( $items['total_categories'] ) : 0; $data->total_cookies = isset( $items['total_cookies'] ) ? absint( $items['total_cookies'] ) : 0; $data->total_scripts = isset( $items['total_scripts'] ) ? absint( $items['total_scripts'] ) : 0; if ( isset( $items['categories'] ) ) { foreach ( $items['categories'] as $category_index => $category ) { $data->categories[ $category_index ]['name'] = isset( $category['name'] ) ? sanitize_text_field( $category['name'] ) : ''; if ( isset( $category['cookies'] ) ) { foreach ( $category['cookies'] as $cookie ) { $cookie_id = $cookie['cookie_id']; $data->categories[ $category_index ]['cookies'][ $cookie_id ]['cookie_id'] = isset( $cookie['cookie_id'] ) ? sanitize_text_field( $cookie['cookie_id'] ) : ''; $data->categories[ $category_index ]['cookies'][ $cookie_id ]['description'] = isset( $cookie['description'] ) ? sanitize_text_field( $cookie['description'] ) : ''; $data->categories[ $category_index ]['cookies'][ $cookie_id ]['duration'] = isset( $cookie['duration'] ) ? sanitize_text_field( $cookie['duration'] ) : ''; $data->categories[ $category_index ]['cookies'][ $cookie_id ]['type'] = isset( $cookie['type'] ) ? sanitize_text_field( $cookie['type'] ) : ''; } } } } if ( isset( $items['urls'] ) ) { foreach ( $items['urls'] as $url_index => $url ) { $data->urls[ $url_index ]['count'] = isset( $url['count'] ) ? absint( $url['count'] ) : 0; $data->urls[ $url_index ]['name'] = isset( $url['name'] ) ? sanitize_text_field( $url['name'] ) : ''; } } $scan_details = $data; } return $scan_details; } /** * Initiate a new scan by sending scan request to web app * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|WP_REST_Response */ public function create_item( $request ) { $can_scan_response = $this->controller->can_scan(); $can_scan_response_code = wp_remote_retrieve_response_code( $can_scan_response ); if ( 200 === $can_scan_response_code ) { $can_scan_response = json_decode( wp_remote_retrieve_body( $can_scan_response ), true ); if ( ! $can_scan_response['canScan'] ) { return new WP_Error( 'cky_rest_scan_initiated', __( 'Could not initiate the scan, please try again', 'cookie-law-info' ), array( 'status' => 200 ) ); } } $response = $this->controller->initiate_scan(); $response_code = wp_remote_retrieve_response_code( $response ); if ( 200 === $response_code || 400 === $response_code ) { $response = json_decode( wp_remote_retrieve_body( $response ), true ); if ( 200 === $response_code ) { $this->controller->update_info( array( 'status' => 'initiated', 'date' => isset( $response['created_at'] ) ? $response['created_at'] : '', 'type' => isset( $response['type'] ) ? $response['type'] : '', 'id' => isset( $response['id'] ) ? $response['id'] : '', ) ); return $response; } else { $this->controller->update_info( array( 'status' => 'initiated', ) ); return rest_ensure_response( $this->controller->get_info() ); } } else { return new WP_Error( 'cky_rest_scan_initiated', __( 'Could not initiate the scan, please try again', 'cookie-law-info' ), array( 'status' => 200 ) ); } return json_decode( wp_remote_retrieve_body( $response ), true ); } /** * Format data * * @param object $object Item data. * @return void */ protected function get_formatted_item_data( $object ) { $data = $object->get_data(); } /** * Get the Cookies's schema, conforming to JSON Schema. * * @return array */ public function get_item_schema() { $schema = array( '$schema' => 'http://json-schema.org/draft-04/schema#', 'title' => 'cookie_categories', 'type' => 'object', 'properties' => array( 'id' => array( 'description' => __( 'Unique identifier for the resource.', 'cookie-law-info' ), 'type' => 'integer', 'context' => array( 'view' ), 'readonly' => true, ), 'date_created' => array( 'description' => __( 'The date the cookie was created, as GMT.', 'cookie-law-info' ), 'type' => 'date-time', 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'date_modified' => array( 'description' => __( 'The date the cookie was last modified, as GMT.', 'cookie-law-info' ), 'type' => 'date-time', 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'name' => array( 'description' => __( 'Cookie category name.', 'cookie-law-info' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), ), 'slug' => array( 'description' => __( 'Cookie category unique name', 'cookie-law-info' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), ), 'description' => array( 'description' => __( 'Cookie category description.', 'cookie-law-info' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), ), 'default_state' => array( 'description' => __( 'Cookie type.', 'cookie-law-info' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), ), 'head_scripts' => array( 'description' => __( 'Cookie scripts.', 'cookie-law-info' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), ), 'body_scripts' => array( 'description' => __( 'Cookie scripts.', 'cookie-law-info' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), ), 'cookies' => array( 'description' => __( 'Cookie count.', 'cookie-law-info' ), 'type' => 'integer', 'context' => array( 'view' ), ), ), ); return $this->add_additional_fields_schema( $schema ); } } // End the class. admin/modules/scanner/class-scanner.php000064400000002532150514563140014210 0ustar00load_apis( $controller ); add_filter( 'cky_admin_scripts_scanner_config', array( $controller, 'load_scanner_config' ) ); add_action( 'admin_menu', array( $this, 'admin_menu' ) ); } /** * Load API classes * * @param object $controller Controller object. * @return void */ public function load_apis( $controller ) { $api = new \CookieYes\Lite\Admin\Modules\Scanner\Api\Api( $controller ); } /** * Add admin sub menus * * @return void */ public function admin_menu() { add_submenu_page( null, __( 'Scan Details', 'cookie-law-info' ), __( 'Cookie Manager', 'cookie-law-info' ), self::$capability, self::$menu_slug . '-scan-details', array( $this, 'menu_page_template' ) ); } /** * Main menu template * * @return void */ public function menu_page_template() { echo '
'; } } admin/modules/scanner/includes/class-controller.php000064400000007316150514563140016555 0ustar00 0, 'status' => '', 'type' => '', 'date' => '', ); /** * Last scan info. * * @var array */ protected $last_scan_info; /** * Constructor * * @return void */ public function __construct() { $this->make_auth_request(); parent::__construct(); $this->rest_path = 'websites/' . $this->get_website_id() . '/scans'; } /** * Return the current instance of the class * * @return object */ public static function get_instance() { if ( null === self::$instance ) { self::$instance = new self(); } return self::$instance; } /** * Fetch scan histories from the web app. * * @param array $args Array of arguments. * @return array */ public function get_history( $args = array() ) { return $this->get( add_query_arg( $args, $this->rest_path ) ); } /** * Get the details of a scan with ID. * * @param integer $id Web app id of the corresponding scan. * @return array */ public function get_scan_details( $id = 0 ) { return $this->get( $this->rest_path . '/' . $id ); } /** * Check whether the scan can be initiated * * @return array */ public function can_scan() { return $this->post( 'websites/' . $this->get_website_id() . '/can-scan' ); } /** * Send a API request to the web app to initiate the scan * * @return array */ public function initiate_scan() { return $this->post( $this->rest_path, wp_json_encode( array( 'page_limit' => 100, 'type' => 'deep', 'concurrency' => 1, ) ) ); } /** * Get the last scan info * * @return array */ public function get_info() { if ( ! $this->last_scan_info ) { $data = get_option( 'cky_scan_details', self::$default ); $timestamp = strtotime( sanitize_text_field( $data['date'] ) ); $formatted = gmdate( 'd F Y H:i:s', $timestamp ); $this->last_scan_info = array( 'id' => absint( $data['id'] ), 'status' => sanitize_text_field( $data['status'] ), 'type' => sanitize_text_field( $data['type'] ), 'date' => sanitize_text_field( $formatted ), ); } return $this->last_scan_info; } /** * Update the last scan info to the option table * * @param array $data Scan data recieved from the CookieYes web app after initiating the scan. * @return void */ public function update_info( $data = array() ) { $scan_data = get_option( 'cky_scan_details', self::$default ); $data = array( 'id' => absint( isset( $data['id'] ) ? $data['id'] : $scan_data['id'] ), 'status' => sanitize_text_field( isset( $data['status'] ) ? $data['status'] : $scan_data['status'] ), 'type' => sanitize_text_field( isset( $data['type'] ) ? $data['type'] : $scan_data['type'] ), 'date' => sanitize_text_field( isset( $data['date'] ) ? $data['date'] : $scan_data['date'] ), ); update_option( 'cky_scan_details', $data ); $this->last_scan_info = $data; } /** * Load scanner configs into WordPress localization function * * @return array */ public function load_scanner_config() { return $this->get_info(); } } admin/package.json000064400000002641150514563140010131 0ustar00{ "name": "gdpr-cookie-consent", "version": "3.0.6", "private": true, "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build --mode development --watch", "build:production": "vue-cli-service build && yarn run build-webpack-lite && node build.js --mode production", "lint": "vue-cli-service lint", "build-webpack-lite": "webpack-cli --config webpack/lite.config.js --mode production" }, "dependencies": { "@popperjs/core": "^2.11.5", "@wordpress/api-fetch": "^5.2.1", "chart.js": "^3.9.1", "core-js": "^3.6.5", "md5": "^2.3.0", "vue": "^2.6.11", "vue-color": "^2.8.1", "vue-frag": "^1.4.1", "vue-router": "^3.2.0", "vuex": "^3.6.2" }, "devDependencies": { "@vue/cli-plugin-babel": "~4.5.0", "@vue/cli-plugin-eslint": "~4.5.0", "@vue/cli-plugin-router": "~4.5.0", "@vue/cli-service": "~4.5.0", "babel-eslint": "^10.1.0", "eslint": "^6.7.2", "eslint-plugin-vue": "^6.2.2", "node-sass": "^6.0.0", "sass-loader": "^10", "vue-template-compiler": "^2.6.11", "webpack-cli": "^4.10.0" }, "eslintConfig": { "root": true, "env": { "node": true }, "extends": [ "plugin:vue/essential", "eslint:recommended" ], "parserOptions": { "parser": "babel-eslint" }, "rules": {} }, "browserslist": [ "> 1%", "last 2 versions", "not dead" ] } loader.php000064400000001377150514563140006537 0ustar00register(); register_activation_hook( __FILE__, array( \CookieYes\Lite\Includes\Activator::get_instance(), 'install' ) ); $cky_loader = new \CookieYes\Lite\Includes\CLI(); $cky_loader->run(); languages/cookie-law-info.pot000064400000030152150514563140012226 0ustar00# Copyright (C) 2021 WebToffee # This file is distributed under the same license as the CookieYes | GDPR Cookie Consent & Compliance Notice (CCPA Ready) plugin. msgid "" msgstr "" "Project-Id-Version: CookieYes | GDPR Cookie Consent & Compliance Notice (CCPA Ready) 2.0.5\n" "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/cookie-law-info\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "POT-Creation-Date: 2021-12-13T10:09:08+00:00\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "X-Generator: WP-CLI 2.4.0\n" "X-Domain: cookie-law-info\n" #. Plugin Name of the plugin msgid "CookieYes | GDPR Cookie Consent & Compliance Notice (CCPA Ready)" msgstr "" #. Plugin URI of the plugin msgid "https://www.webtoffee.com/product/gdpr-cookie-consent/" msgstr "" #. Description of the plugin msgid "This is a short description of what the plugin does. It's displayed in the WordPress admin area." msgstr "" #. Author of the plugin msgid "WebToffee" msgstr "" #. Author URI of the plugin msgid "https://www.webtoffee.com/" msgstr "" #: admin/class-cli-admin.php:233 #: admin/class-cli-admin.php:242 #: admin/class-cli-admin.php:243 msgid "Dashboard" msgstr "" #: admin/class-cli-admin.php:234 msgid "GDPR Cookie Consent" msgstr "" #: admin/class-cli-admin.php:250 #: admin/class-cli-admin.php:251 msgid "General Settings" msgstr "" #: admin/class-cli-admin.php:258 #: admin/class-cli-admin.php:259 msgid "CookieYes Setup Wizard" msgstr "" #: admin/modules/banners/api/class-cli-banners-api.php:84 #: admin/modules/banners/api/class-cli-banners-api.php:102 #: admin/modules/banners/api/class-cli-banners-api.php:237 #: admin/modules/consentlogs/api/class-cli-consent-api.php:216 #: admin/modules/cookies/api/class-cli-cookie-categories-api.php:83 #: admin/modules/cookies/api/class-cli-cookie-categories-api.php:165 #: admin/modules/cookies/api/class-cli-cookies-api.php:82 #: admin/modules/cookies/api/class-cli-cookies-api.php:164 #: admin/modules/languages/api/class-cli-languages-api.php:169 #: admin/modules/licenses/api/class-cli-license-api.php:84 #: admin/modules/scanner/api/class-cli-scanner-api.php:88 #: admin/modules/scanner/api/class-cli-scanner-api.php:189 #: admin/modules/settings/api/class-cli-settings-api.php:244 #: admin/modules/settings/api/class-cli-settings-api.php:250 msgid "Unique identifier for the resource." msgstr "" #: admin/modules/banners/api/class-cli-banners-api.php:146 msgid "Invalid banner ID." msgstr "" #: admin/modules/banners/api/class-cli-banners-api.php:243 #: admin/modules/consentlogs/api/class-cli-consent-api.php:222 #: admin/modules/cookies/api/class-cli-cookie-categories-api.php:171 #: admin/modules/cookies/api/class-cli-cookies-api.php:170 #: admin/modules/scanner/api/class-cli-scanner-api.php:195 #: admin/modules/settings/api/class-cli-settings-api.php:285 msgid "The date the cookie was created, as GMT." msgstr "" #: admin/modules/banners/api/class-cli-banners-api.php:249 #: admin/modules/consentlogs/api/class-cli-consent-api.php:228 #: admin/modules/cookies/api/class-cli-cookie-categories-api.php:177 #: admin/modules/cookies/api/class-cli-cookies-api.php:176 #: admin/modules/scanner/api/class-cli-scanner-api.php:201 #: admin/modules/settings/api/class-cli-settings-api.php:291 msgid "The date the cookie was last modified, as GMT." msgstr "" #: admin/modules/banners/api/class-cli-banners-api.php:254 #: admin/modules/cookies/api/class-cli-cookies-api.php:191 msgid "Cookie unique name" msgstr "" #: admin/modules/banners/api/class-cli-banners-api.php:259 msgid "Banner settings." msgstr "" #: admin/modules/banners/class-cli-banners.php:59 #: admin/modules/banners/class-cli-banners.php:60 msgid "Consent Banner" msgstr "" #: admin/modules/consentlogs/api/class-cli-consent-api.php:233 msgid "Visitor IP." msgstr "" #: admin/modules/consentlogs/api/class-cli-consent-api.php:238 msgid "Visitor Country." msgstr "" #: admin/modules/consentlogs/api/class-cli-consent-api.php:243 msgid "Consent status." msgstr "" #: admin/modules/consentlogs/api/class-cli-consent-api.php:248 msgid "Log." msgstr "" #: admin/modules/consentlogs/api/class-cli-consent-api.php:253 #: admin/modules/settings/api/class-cli-settings-api.php:255 #: admin/modules/settings/api/class-cli-settings-api.php:260 #: admin/modules/settings/api/class-cli-settings-api.php:265 #: admin/modules/settings/api/class-cli-settings-api.php:270 #: admin/modules/settings/api/class-cli-settings-api.php:275 #: admin/modules/settings/api/class-cli-settings-api.php:280 #: admin/modules/settings/api/class-cli-settings-api.php:296 msgid "Language." msgstr "" #: admin/modules/consentlogs/class-cli-consentlogs.php:57 #: admin/modules/consentlogs/class-cli-consentlogs.php:58 msgid "Consent Logs" msgstr "" #: admin/modules/consentlogs/includes/class-cli-consent-controller.php:214 msgid "Could not insert the log, please try again" msgstr "" #: admin/modules/cookies/api/class-cli-cookie-categories-api.php:183 #: admin/modules/cookies/api/class-cli-cookies-api.php:186 #: admin/modules/scanner/api/class-cli-scanner-api.php:207 msgid "Cookie category name." msgstr "" #: admin/modules/cookies/api/class-cli-cookie-categories-api.php:188 #: admin/modules/scanner/api/class-cli-scanner-api.php:212 msgid "Cookie category unique name" msgstr "" #: admin/modules/cookies/api/class-cli-cookie-categories-api.php:193 #: admin/modules/scanner/api/class-cli-scanner-api.php:217 msgid "Cookie category description." msgstr "" #: admin/modules/cookies/api/class-cli-cookie-categories-api.php:198 #: admin/modules/cookies/api/class-cli-cookies-api.php:201 #: admin/modules/scanner/api/class-cli-scanner-api.php:222 msgid "Cookie type." msgstr "" #: admin/modules/cookies/api/class-cli-cookie-categories-api.php:203 #: admin/modules/cookies/api/class-cli-cookie-categories-api.php:208 #: admin/modules/scanner/api/class-cli-scanner-api.php:227 #: admin/modules/scanner/api/class-cli-scanner-api.php:232 msgid "Cookie scripts." msgstr "" #: admin/modules/cookies/api/class-cli-cookie-categories-api.php:213 #: admin/modules/scanner/api/class-cli-scanner-api.php:237 msgid "Cookie count." msgstr "" #. translators: %s: Class method name. #: admin/modules/cookies/api/class-cli-cookies-api-controller.php:45 #: admin/modules/cookies/api/class-cli-cookies-api-controller.php:55 #: admin/modules/cookies/api/class-cli-cookies-api-controller.php:66 #: includes/class-cli-abstract.php:93 #: includes/class-cli-abstract.php:104 #: includes/class-cli-abstract.php:115 #: integrations/cookieyes/includes/class-cli-cookieyes-cloud.php:74 #: integrations/cookieyes/includes/class-cli-cookieyes-cloud.php:87 #: integrations/cookieyes/includes/class-cli-cookieyes-cloud.php:100 msgid "Method '%s' not implemented. Must be overridden in subclass." msgstr "" #: admin/modules/cookies/api/class-cli-cookies-api-controller.php:109 #: admin/modules/cookies/api/class-cli-cookies-api-controller.php:158 #: admin/modules/cookies/api/class-cli-cookies-api-controller.php:205 msgid "Invalid ID." msgstr "" #: admin/modules/cookies/api/class-cli-cookies-api-controller.php:271 msgid "Cookie category" msgstr "" #: admin/modules/cookies/api/class-cli-cookies-api.php:181 msgid "Cookie name." msgstr "" #: admin/modules/cookies/api/class-cli-cookies-api.php:196 msgid "Cookie description." msgstr "" #: admin/modules/cookies/api/class-cli-cookies-api.php:206 msgid "Cookie duration" msgstr "" #: admin/modules/cookies/api/class-cli-cookies-api.php:212 msgid "Cookie language." msgstr "" #: admin/modules/cookies/class-cli-cookies.php:65 #: admin/modules/cookies/class-cli-cookies.php:66 msgid "Cookie Manager" msgstr "" #: admin/modules/languages/api/class-cli-languages-api.php:175 msgid "Name of the language." msgstr "" #: admin/modules/languages/api/class-cli-languages-api.php:180 msgid "Native name of the language." msgstr "" #: admin/modules/languages/api/class-cli-languages-api.php:185 msgid "Language code" msgstr "" #: admin/modules/languages/class-cli-languages.php:53 #: admin/modules/languages/class-cli-languages.php:54 msgid "Translations" msgstr "" #: admin/modules/licenses/api/class-cli-license-api.php:226 msgid "Website ID" msgstr "" #: admin/modules/licenses/api/class-cli-license-api.php:231 msgid "Unique key assigned to a website" msgstr "" #: admin/modules/licenses/api/class-cli-license-api.php:236 msgid "Current web app plan" msgstr "" #: admin/modules/licenses/api/class-cli-license-api.php:241 msgid "Token generated from the Web app" msgstr "" #: admin/modules/licenses/api/class-cli-license-api.php:246 msgid "License status" msgstr "" #: admin/modules/licenses/api/class-cli-license-api.php:251 msgid "Email address" msgstr "" #: admin/modules/licenses/api/class-cli-license-api.php:256 msgid "Connection status" msgstr "" #: admin/modules/licenses/api/class-cli-license-api.php:261 msgid "Script URL generated from the Web app" msgstr "" #: admin/modules/licenses/api/class-cli-license-api.php:266 msgid "Priority to decide send from either plugin or web app" msgstr "" #: admin/modules/policies/class-cli-policies.php:51 #: admin/modules/policies/class-cli-policies.php:52 #: admin/modules/settings/class-cli-settings.php:56 #: admin/modules/settings/class-cli-settings.php:57 msgid "Policiy Generators" msgstr "" #: admin/modules/scanner/api/class-cli-scanner-api.php:129 #: admin/modules/scanner/api/class-cli-scanner-api.php:152 msgid "A scan is already in progress!" msgstr "" #: admin/modules/scanner/api/class-cli-scanner-api.php:155 msgid "Could not initiate the scan, please try again" msgstr "" #: admin/modules/scriptblocker/class-cli-scriptblocker.php:53 #: admin/modules/scriptblocker/class-cli-scriptblocker.php:54 msgid "Script blocker" msgstr "" #: admin/modules/settings/api/class-cli-settings-api.php:124 msgid "Continue with the GDPR template if most of your targeted audience are from the EU or UK. It creates a customizable banner that allows your visitors to accept/reject cookies or adjust their consent preferences." msgstr "" #: admin/modules/settings/api/class-cli-settings-api.php:125 msgid "" "Choose GDPR if most of your targeted audience are from the EU or UK.\n" "\t\t\t\t\tIt creates a customizable banner that allows your visitors to accept/reject cookies or adjust their consent preferences." msgstr "" #: admin/modules/settings/api/class-cli-settings-api.php:134 msgid "CCPA" msgstr "" #: admin/modules/settings/api/class-cli-settings-api.php:135 msgid "" "Choose CCPA if most of your targeted audience are from California or US.\n" "\t\t\t\t\tIt creates a customizable banner with a “Do Not Sell My Personal Information†link that allows your visitors to refuse the use of cookies." msgstr "" #: admin/modules/settings/api/class-cli-settings-api.php:144 msgid "Info (Information Display Banner)" msgstr "" #: admin/modules/settings/api/class-cli-settings-api.php:145 msgid "" "Choose Info if you do not want to block any cookies on your website.\n" "\t\t\t\t\t\tIt creates a dismissible banner that provides some general info to your site visitors." msgstr "" #: frontend/modules/shortcodes/class-cli-shortcodes.php:256 msgid "Powered By" msgstr "" #: includes/class-cli-rest-controller.php:58 msgid "Sorry, you cannot list resources." msgstr "" #: includes/class-cli-rest-controller.php:73 msgid "Sorry, you are not allowed to create resources." msgstr "" #: includes/class-cli-rest-controller.php:88 msgid "Sorry, you cannot view this resource." msgstr "" #: includes/class-cli-rest-controller.php:104 msgid "Sorry, you are not allowed to edit this resource." msgstr "" #: includes/class-cli-rest-controller.php:119 msgid "Sorry, you are not allowed to delete this resource." msgstr "" #: integrations/cookieyes/includes/class-cli-cookieyes-cloud.php:49 #: integrations/cookieyes/includes/class-cli-cookieyes-cloud.php:61 msgid "Ivalid method." msgstr "" #: admin/dist/js/app.js:4165 msgid "SGP Setup Wizard" msgstr "" #: admin/dist/js/dashboard.js:873 msgid "We help you comply with the data privacy laws for your website's use of cookies. You can set up cookie consent banner(s) that complieswith the General Data Protection Regulation (GDPR | DSGVO | RGPD),ePrivacy, CCPA, CNIL, LGPD, and POPIA." msgstr "" includes/class-cache.php000064400000011774150514563140011247 0ustar00esc_like( '_transient_' . $prefix ) . '%'; $keys = $wpdb->get_results( $wpdb->prepare( "SELECT option_name FROM $wpdb->options WHERE option_name LIKE %s", $prefix ), ARRAY_A ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery if ( is_wp_error( $keys ) ) { return array(); } return array_map( function( $key ) { // Remove '_transient_' from the option name. return ltrim( $key['option_name'], '_transient_' ); }, $keys ); } /** * Delete all transients with certain prefix. * * @param string $group Transient group. * @return void */ public static function delete_transient( $group ) { $prefix = self::get_transient_prefix( $group ); $transients = self::get_transient_keys_with_prefix( $prefix ); foreach ( $transients as $key ) { delete_transient( $key ); } } } includes/class-utils.php000064400000013341150514563140011334 0ustar00 * @package CookieYes\Lite\Includes */ use CookieYes\Lite\Includes\Filesystem; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } if ( ! function_exists( 'cky_parse_url' ) ) { /** * Return parsed URL * * @param string $url URL string to be parsed. * @return array URL parts. */ function cky_parse_url( $url ) { return function_exists( 'wp_parse_url' ) ? wp_parse_url( $url ) : parse_url( $url ); // phpcs:ignore WordPress.WP.AlternativeFunctions.parse_url_parse_url } } if ( ! function_exists( 'cky_read_json_file' ) ) { /** * Processes a json file from the specified path * and returns an array with its contents, or a void array if none found. * * @since 3.0.0 * * @param string $file_path Path to file. Empty if no file. * @return array Contents from json file. */ function cky_read_json_file( $file_path = '' ) { $config = array(); $file_system = Filesystem::get_instance(); $json = $file_system->get_contents( $file_path ); if ( ! $json ) { return $config; } $decoded_file = json_decode( $json, true ); $json_decoding_error = json_last_error(); if ( JSON_ERROR_NONE !== $json_decoding_error ) { return $config; } if ( is_array( $decoded_file ) ) { $config = $decoded_file; } return $config; } } if ( ! function_exists( 'cky_i18n_date' ) ) { /** * Get localized date. * * @param string $date Date in time stamped format. * @return string */ function cky_i18n_date( $date = '' ) { return date_i18n( 'd/m/Y g:i:s', $date ); } } if ( ! function_exists( 'cky_is_admin_request' ) ) { /** * Get localized date. * * @return boolean */ function cky_is_admin_request() { return is_admin() && ! cky_is_ajax_request(); } } if ( ! function_exists( 'cky_is_ajax_request' ) ) { /** * Get localized date. * * @return boolean */ function cky_is_ajax_request() { if ( function_exists( 'wp_doing_ajax' ) ) { return wp_doing_ajax(); } else { return ( defined( 'DOING_AJAX' ) && DOING_AJAX ); } } } if ( ! function_exists( 'cky_is_rest_request' ) ) { /** * Check if a request is a rest request * * @return boolean */ function cky_is_rest_request() { if ( empty( $_SERVER['REQUEST_URI'] ) ) { return false; } $rest_prefix = trailingslashit( rest_get_url_prefix() ); $request = isset( $_SERVER['REQUEST_URI'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : false; if ( ! $request ) { return false; } $is_rest_api_request = ( false !== strpos( $request, $rest_prefix ) ); return apply_filters( 'cky_is_rest_api_request', $is_rest_api_request ); } } if ( ! function_exists( 'cky_is_cloud_request' ) ) { /** * Check if a request is a rest request * * @return boolean */ function cky_is_cloud_request() { return ( defined( 'CKY_CLOUD_REQUEST' ) && CKY_CLOUD_REQUEST ); } } if ( ! function_exists( 'cky_array_search' ) ) { /** * Get settings of element from banner properties by using the tag "data-cky-tag" * * @param array $array Array to be searched. * @param string $key Tag to be used for searching. * @param string $value Tag name. * @return array */ function cky_array_search( $array = array(), $key = '', $value = '' ) { $results = array(); if ( is_array( $array ) ) { if ( isset( $array[ $key ] ) && $array[ $key ] === $value ) { $results = $array; } foreach ( $array as $sub_array ) { $results = array_merge( $results, cky_array_search( $sub_array, $key, $value ) ); } } return $results; } } if ( ! function_exists( 'cky_first_time_install' ) ) { /** * Check if the plugin is activated for the first time. * * @return boolean */ function cky_first_time_install() { return (bool) get_site_transient( '_cky_first_time_install' ) || (bool) get_option( 'cky_first_time_activated_plugin' ); } } if ( ! function_exists( 'cky_is_admin_page' ) ) { /** * Check if the plugin is activated for the first time. * * @return boolean */ function cky_is_admin_page() { if ( ! is_admin() ) { return false; } if ( function_exists( 'get_current_screen' ) && ! empty( get_current_screen() ) ) { $screen = get_current_screen(); $page = isset( $screen->id ) ? $screen->id : false; if ( false !== strpos( $page, 'toplevel_page_cookie-law-info' ) ) { return true; } if ( ! empty( $screen->parent_base ) && false !== strpos( $screen->parent_base, 'cookie-law-info' ) ) { return true; } } else { $page = isset( $_GET['page'] ) ? sanitize_text_field( wp_unslash( $_GET['page'] ) ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended } return false !== strpos( $page, 'cookie-law-info' ); } } if ( ! function_exists( 'cky_is_front_end_request' ) ) { /** * Check if request coming from front-end. * * @return boolean */ function cky_is_front_end_request() { if ( is_admin() || cky_is_rest_request() || cky_is_ajax_request() ) { return false; } return true; } } if ( ! function_exists( 'cky_disable_banner' ) ) { /** * Check if request coming from front-end. * * @return boolean */ function cky_disable_banner() { global $wp_customize; if ( isset( $_GET['et_fb'] ) || isset( $_GET['et_fb'] ) || ( defined( 'ET_FB_ENABLED' ) && ET_FB_ENABLED ) || isset( $_GET['elementor-preview'] ) || isset( $_POST['cs_preview_state'] ) || isset( $wp_customize ) ) { return true; } return false; } } if ( ! function_exists( 'cky_missing_tables' ) ) { /** * Check if request coming from front-end. * * @return array */ function cky_missing_tables() { return get_option( 'cky_missing_tables', array() ); } } includes/class-notice.php000064400000005611150514563140011456 0ustar00notices = $this->get_dismissed(); foreach ( $this->notices as $notice => $timeout ) { if ( $timeout && $timeout < time() ) { $this->undismiss( $notice ); } } } /** * Checks if a given notice has been dismissed or not * * @since 6.0.0 * @param string $notice Programmatic Notice Name. * @return boolean Notice Dismissed */ public function is_dismissed( $notice ) { if ( ! isset( $this->notices[ $notice ] ) ) { return false; } return true; } /** * Marks the given notice as dismissed * * @since 3.0.0 * @param string $notice Programmatic Notice Name. * @param integer $expiry Notice expiry. * @return void */ public function dismiss( $notice, $expiry = 0 ) { $dismissed = $this->get_dismissed(); if ( 0 !== $expiry ) { $dismissed[ $notice ] = time() + $expiry; } else { $dismissed[ $notice ] = false; } update_option( 'cky_admin_notices', $dismissed ); } /** * Marks a notice as not dismissed * * @access public * @since 6.0.0 * * @param string $notice Programmatic Notice Name. * @return void */ public function undismiss( $notice ) { unset( $this->notices[ $notice ] ); update_option( 'cky_admin_notices', $this->notices ); } /** * Add notice * * @param string $notice Notice ID. * @param array $options Notice options. * @return void */ public function add( $notice, $options = array() ) { $options = wp_parse_args( $options, array( 'dismissible' => true, 'type' => 'default', 'expiration' => 0, // Default 0 (no expiration). 'message' => '', ) ); if ( isset( $this->notices[ $notice ] ) ) { unset( $this->notices[ $notice ] ); } else { $this->notices[ $notice ] = $options; } } /** * Get all the notices. * * @return array */ public function get() { return $this->notices; } /** * Get dismissed notices * * @return array */ public function get_dismissed() { return get_option( 'cky_admin_notices', array() ); } } includes/class-i18n.php000064400000002306150514563140010752 0ustar00 */ class I18n { /** * Instance of the current class * * @var object */ private static $instance; /** * Return the current instance of the class * * @return object */ public static function get_instance() { if ( null === self::$instance ) { self::$instance = new self(); } return self::$instance; } /** * Load the plugin text domain for translation. * * @since 3.0.0 */ public function load_plugin_textdomain() { load_plugin_textdomain( 'cookie-law-info', false, dirname( dirname( CLI_PLUGIN_BASENAME ) ) . '/languages/' ); } } includes/class-i18n-helpers.php000064400000017525150514563140012423 0ustar00 'pt', ); return apply_filters( 'cky_language_map', $map ); } } if ( ! function_exists( 'cky_i18n_default_language' ) ) { /** * Returns the current language code of the site * * @return string */ function cky_i18n_default_language() { if ( cky_i18n_is_multilingual() ) { if ( function_exists( 'pll_default_language' ) ) { $default = pll_default_language(); } else { $null = null; $default = apply_filters( 'wpml_default_language', $null ); } } else { $default = cky_default_language(); } return $default; } } if ( ! function_exists( 'cky_i18n_term_by_language' ) ) { /** * Returns the current language code of the site * * @param integer $term_id Original term id. * @param string $language Language code. * @return object */ function cky_i18n_term_by_language( $term_id, $language ) { $term = false; if ( cky_i18n_is_multilingual() ) { if ( function_exists( 'pll_get_term_translations' ) ) { $terms = pll_get_term_translations( $term_id ); if ( isset( $terms[ $language ] ) ) { $original_term_id = $terms[ $language ]; $term = get_term_by( 'id', $original_term_id, 'cookielawinfo-category' ); } } else { if ( function_exists( 'icl_object_id' ) ) { global $sitepress; if ( $sitepress ) { if ( version_compare( ICL_SITEPRESS_VERSION, '3.2.0' ) >= 0 ) { $original_term_id = apply_filters( 'wpml_object_id', $term_id, 'category', true, $language ); } else { $original_term_id = icl_object_id( $term_id, 'category', true, $language ); } remove_filter( 'get_term', array( $sitepress, 'get_term_adjust_id' ), 1 ); $term = get_term_by( 'id', $original_term_id, 'cookielawinfo-category' ); add_filter( 'get_term', array( $sitepress, 'get_term_adjust_id' ), 1, 1 ); } } } } return $term; } } if ( ! function_exists( 'cky_i18n_post_by_language' ) ) { /** * Returns the current language code of the site * * @param integer $term_id Original term id. * @param string $language Language code. * @return object */ function cky_i18n_post_by_language( $post_id, $language ) { $post = false; if ( cky_i18n_is_multilingual() ) { if ( function_exists( 'pll_get_post_translations' ) ) { $posts = pll_get_post_translations( $post_id ); if ( isset( $posts[ $language ] ) ) { $original_post_id = $posts[ $language ]; $post = get_post( $original_post_id ); } } else { if ( function_exists( 'icl_object_id' ) ) { $type = apply_filters( 'wpml_element_type', get_post_type( $post_id ) ); $trid = apply_filters( 'wpml_element_trid', false, $post_id, $type ); $translations = apply_filters( 'wpml_get_element_translations', array(), $trid, $type ); if ( isset( $translations[ $language ] ) ) { $original_post_id = isset( $translations[ $language ]->element_id ) ? $translations[ $language ]->element_id : false; if ( $original_post_id ) { $post = get_post( $original_post_id ); } } } } } return $post; } } if ( ! function_exists( 'cky_wpml_active' ) ) { function cky_wpml_active() { return class_exists( 'SitePress' ); } } if ( ! function_exists( 'cky_i18n_selected_languages' ) ) { function cky_i18n_selected_languages() { $languages = array( cky_i18n_default_language() ); if ( cky_i18n_is_multilingual() ) { if ( cky_wpml_active() ) { return cky_i18n_wpml_languages(); } else { return cky_i18n_pll_languages(); } } return $languages; } } if ( ! function_exists( 'cky_i18n_pll_languages' ) ) { function cky_i18n_pll_languages() { $languages = array(); if ( function_exists( 'pll_languages_list' ) ) { $configured = pll_languages_list(); if ( empty( $configured ) ) { return $languages; } foreach ( $configured as $language ) { $languages[] = $language; } } return $languages; } } if ( ! function_exists( 'cky_i18n_wpml_languages' ) ) { function cky_i18n_wpml_languages() { $languages = array(); $configured = apply_filters( 'wpml_active_languages', null ); if ( empty( $configured ) ) { return $languages; } foreach ( $configured as $key => $language ) { $languages[] = $key; } return $languages; } } if ( ! function_exists( 'cky_i18n_translate_string' ) ) { function cky_i18n_translate_string( $string, $key, $language, $context = 'CookieLawInfo-0.9' ) { if ( function_exists( 'pll_translate_string' ) ) { return pll_translate_string( $string, $language ); } else { return apply_filters( 'wpml_translate_single_string', $string, "admin_texts_{$context}", "[{$context}]" . $key, $language ); } } } if ( ! function_exists( 'cky_i18n_term_language' ) ) { function cky_i18n_term_language( $term ) { $language = cky_i18n_default_language(); if ( cky_i18n_is_multilingual() ) { if ( function_exists( 'pll_get_term_language' ) ) { $language = pll_get_term_language( $term ); } } return $language; } } includes/class-store.php000064400000026623150514563140011337 0ustar00 * @package CookieYes\Lite\Includes */ namespace CookieYes\Lite\Includes; if ( ! defined( 'ABSPATH' ) ) { exit; } use Exception; use WP_Error; /** * Abstract data class for CRUD operations * * @version 3.0.0 * @package CookieYes\Lite\Includes */ abstract class Store { /** * ID for this object. * * @since 3.0.0 * @var int */ protected $id = 0; /** * Core data for this object. * * @since 3.0.0 * @var array */ protected $data = array(); /** * Current language * * @var string */ protected $language = ''; /** * Core data changes for this object. * * @since 3.0.0 * @var array */ protected $revisions = array(); /** * This is false until the object is read from the DB. * * @since 3.0.0 * @var bool */ protected $loaded = false; /** * Mode of reading the object. Possible values edit/view. * * @var string */ protected $context = 'view'; /** * Default constructor. * * @param int|object|array $read ID to load from the DB (optional) or already queried data. */ public function __construct( $read = 0 ) { $this->default_data = $this->data; } /** * Read data directly from DB * * @return void */ public function get_data_from_db() { if ( $this->get_id() > 0 ) { $this->read( $this ); } } /** * Create if id not exist or update if exist * * @return integer */ public function save() { if ( $this->get_id() ) { $this->update( $this ); } else { $this->create( $this ); } return $this->get_id(); } /** * Delete an item from the database. * * @return void */ public function delete() { if ( $this->get_id() > 0 ) { $this->remove( $this ); } } /** * Read an existing item * * @param object $object Object of the corresponding item. * @return WP_Error */ protected function remove( $object ) { // translators: %s: Class method name. return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass.", 'cookie-law-info' ), __METHOD__ ), array( 'status' => 405 ) ); } /** * Read an existing item * * @param object $object Object of the corresponding item. * @return WP_Error */ protected function read( $object ) { // translators: %s: Class method name. return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass.", 'cookie-law-info' ), __METHOD__ ), array( 'status' => 405 ) ); } /** * Update an existing item * * @param object $object Object of the corresponding item. * @return WP_Error */ protected function update( $object ) { // translators: %s: Class method name. return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass.", 'cookie-law-info' ), __METHOD__ ), array( 'status' => 405 ) ); } /** * Create an existing item * * @param object $object Object of the corresponding item. * @return WP_Error */ protected function create( $object ) { // translators: %s: Class method name. return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass.", 'cookie-law-info' ), __METHOD__ ), array( 'status' => 405 ) ); } /** * Set all props to default values. * * @since 3.0.0 */ public function set_defaults() { $this->data = $this->default_data; $this->revisions = array(); $this->set_loaded( false ); } /** * Set object loaded property. * * @since 3.0.0 * @param boolean $loaded Should read?. */ public function set_loaded( $loaded = true ) { $this->loaded = (bool) $loaded; } /** * Get object loaded property. * * @since 3.0.0 * @return boolean */ public function get_loaded() { return (bool) $this->loaded; } /** Getter functions */ /** * Returns all data for this object. * * @since 3.0.0 * @return array */ public function get_data() { return array_merge( array( 'id' => $this->get_id() ), $this->data ); } /** * Get All Meta Data. * * @since 3.0.0 * @return array */ public function get_meta_data() { return array_values( array_filter( $this->meta_data, array( $this, 'filter_null_meta' ) ) ); } /** * Filter null meta values from array. * * @since 3.0.0 * @param mixed $meta Meta value to check. * @return bool */ protected function filter_null_meta( $meta ) { return ! is_null( $meta->value ); } /** * Returns only the changes to the object properties. * * @return array */ public function get_revisions() { return $this->revisions; } /** * Returns the unique ID for this object. * * @since 3.0.0 * @return int */ public function get_id() { return $this->id; } /** * Returns the name of the item. * * @since 3.0.0 * @return string */ public function get_name() { return stripslashes( $this->get_object_data( 'name' ) ); } /** * Get slug. * * @since 3.0.0 * @return string $slug Slug of the item. */ public function get_slug() { $slug = $this->get_object_data( 'slug' ); if ( empty( $slug ) ) { $slug = $this->get_name(); } return sanitize_title( $slug ); } /** * Return the description if any * * @param string $language Current language. * @return array|string */ public function get_description( $language = '' ) { $contents = array(); $prop = 'description'; $data = $this->get_object_data( $prop ); $languages = cky_selected_languages( $language ); $default_content = isset( $data['en'] ) ? $data['en'] : $this->get_translations( 'en', $prop ); foreach ( $languages as $lang ) { $content = isset( $data[ $lang ] ) ? $data[ $lang ] : ''; $content = empty( $content ) ? $this->get_translations( $lang, $prop ) : $content; $content = empty( $content ) && 'view' === $this->get_context() ? $default_content : $content; $contents[ $lang ] = stripslashes( wp_kses_post( $content ) ); } if ( '' !== $language ) { return isset( $contents[ $language ] ) ? $contents[ $language ] : ''; } return $contents; } /** * Get item language * * @return string */ public function get_language() { return is_string( $this->language ) ? sanitize_text_field( $this->language ) : false; } /** * Get date_created * * @since 3.0.0 * @return DateTime|NULL object if the date is set or null if there is no date. */ public function get_date_created() { return $this->get_object_data( 'date_created' ); } /** * Get date_created * * @since 3.0.0 * @return DateTime|NULL object if the date is set or null if there is no date. */ public function get_date_modified() { return $this->get_object_data( 'date_modified' ); } /** * Gets a prop for a getter method. * * Gets the value from either current pending changes, or the data itself. * * @since 3.0.0 * @param string $data Name of prop to get. * @return mixed */ protected function get_object_data( $data ) { $value = null; if ( array_key_exists( $data, $this->data ) ) { $value = array_key_exists( $data, $this->revisions ) ? $this->revisions[ $data ] : $this->data[ $data ]; } return $value; } /** * Returns the view context. * * @return string */ public function get_context() { return sanitize_text_field( $this->context ); } /** Setter functions */ /** * Sets a prop for a setter method. * * This stores changes in a special array so we can track what needs saving * the the DB later. * * @since 3.0.0 * @param string $data Name of prop to set. * @param mixed $value Value of the prop. */ protected function set_object_data( $data, $value ) { if ( array_key_exists( $data, $this->data ) ) { if ( true === $this->loaded ) { if ( $value !== $this->data[ $data ] || array_key_exists( $data, $this->revisions ) ) { $this->revisions[ $data ] = $value; } } else { $this->data[ $data ] = $value; } } } /** * Set a collection of props in one go, collect any errors, and return the result. * Only sets using public methods. * * @since 3.0.0 * * @param array $datas Key value pairs to set. Key is the prop and should map to a setter function name. * * @return bool|WP_Error */ public function set_multi_item_data( $datas ) { $errors = false; foreach ( $datas as $data => $value ) { try { $setter = "set_$data"; if ( is_callable( array( $this, $setter ) ) ) { $this->{$setter}( $value ); } } catch ( Exception $e ) { if ( ! $errors ) { $errors = new WP_Error(); } $errors->add( 101, $e->getMessage() ); } } return $errors && count( $errors->get_error_codes() ) ? $errors : true; } /** * Set all meta data from array. * * @since 3.0.0 * @param array $data Key/Value pairs. */ public function set_meta_data( $data ) { if ( ! empty( $data ) && is_array( $data ) ) { foreach ( $data as $meta ) { $meta = (array) $meta; if ( isset( $meta['key'], $meta['value'] ) ) { $this->meta_data[ $meta['key'] ] = $meta['value']; } } } } /** * Set ID. * * @since 3.0.0 * @param int $id ID. */ public function set_id( $id ) { $this->id = absint( $id ); } /** * Set name. * * @since 3.0.0 * @param string $name Name of the item. */ public function set_name( $name ) { $this->set_object_data( 'name', sanitize_text_field( $name ) ); } /** * Set slug. * * @since 3.0.0 * @param string $slug Slug of the item. */ public function set_slug( $slug ) { $this->set_object_data( 'slug', sanitize_title( $slug ) ); } /** * Set description. * * @since 3.0.0 * @param string $data Item description. */ public function set_description( $data ) { $description = array(); $languages = cky_selected_languages(); foreach ( $languages as $lang ) { $description[ $lang ] = isset( $data[ $lang ] ) ? wp_filter_post_kses( $data[ $lang ] ) : ''; } $this->set_object_data( 'description', $description ); } /** * Set date_created * * @since 3.0.0 * @param string|integer|null $date UTC timestamp, or ISO 8601 DateTime. If the DateTime string has no timezone or offset, WordPress site timezone will be assumed. Null if there is no date. */ public function set_date_created( $date ) { $this->set_object_data( 'date_created', $date ); } /** * Set date_created * * @since 3.0.0 * @param string|integer|null $date UTC timestamp, or ISO 8601 DateTime. If the DateTime string has no timezone or offset, WordPress site timezone will be assumed. Null if there is no date. */ public function set_date_modified( $date ) { $this->set_object_data( 'date_modified', $date ); } /** * Sets the item language * * @param string $language Language of the item. * @return void */ public function set_language( $language ) { $this->language = is_string( $language ) ? sanitize_text_field( $language ) : false; } /** * Set the context * * @param string $context Context. * @return void */ public function set_context( $context = '' ) { $this->context = sanitize_text_field( $context ); } /** * Get translations * * @return array */ public function get_translations() { // translators: %s: Class method name. return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass.", 'cookie-law-info' ), __METHOD__ ), array( 'status' => 405 ) ); } } includes/class-rest-controller.php000064400000005773150514563140013344 0ustar00 rest_authorization_required_code() ) ); } return true; } /** * Check if a given request has access to create an item. * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|boolean */ public function create_item_permissions_check( $request ) { if ( ! current_user_can( 'manage_options' ) ) { return new WP_Error( 'cookieyes_rest_cannot_create', __( 'Sorry, you are not allowed to create resources.', 'cookie-law-info' ), array( 'status' => rest_authorization_required_code() ) ); } return true; } /** * Check if a given request has access to read an item. * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|boolean */ public function get_item_permissions_check( $request ) { if ( ! current_user_can( 'manage_options' ) ) { return new WP_Error( 'cookieyes_rest_cannot_view', __( 'Sorry, you cannot view this resource.', 'cookie-law-info' ), array( 'status' => rest_authorization_required_code() ) ); } return true; } /** * Check if a given request has access to update an item. * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|boolean */ public function update_item_permissions_check( $request ) { if ( ! current_user_can( 'manage_options' ) ) { return new WP_Error( 'cookieyes_rest_cannot_edit', __( 'Sorry, you are not allowed to edit this resource.', 'cookie-law-info' ), array( 'status' => rest_authorization_required_code() ) ); } return true; } /** * Check if a given request has access to delete an item. * * @param WP_REST_Request $request Full details about the request. * @return bool|WP_Error */ public function delete_item_permissions_check( $request ) { if ( ! current_user_can( 'manage_options' ) ) { return new WP_Error( 'cookieyes_rest_cannot_delete', __( 'Sorry, you are not allowed to delete this resource.', 'cookie-law-info' ), array( 'status' => rest_authorization_required_code() ) ); } return true; } } includes/class-base-controller.php000064400000015130150514563140013265 0ustar00cache_group ); if ( false === $cached ) { return false; } if ( ! empty( $cached ) ) { foreach ( $cached as $data ) { $item = $this->prepare_item( $data ); if ( ! empty( $item ) ) { $items[ $item->{$this->id} ] = $item; } } } return isset( $id ) && isset( $items[ $id ] ) ? $items[ $id ] : $items; } /** * Set items to the cache. * * @param array $data Data. * @return void */ protected function set_cache( $data = array() ) { Cache::set( 'all', $this->cache_group, $data ); } /** * Delete the cache. * * @return void */ public function delete_cache() { Cache::delete( $this->cache_group ); wp_cache_flush(); } /** * Reset the cache on page load. * * @return void */ public function reset_cache() { if ( cky_is_admin_request() && cky_is_admin_page() ) { Cache::delete( $this->cache_group ); } } /** * Get multiple items. * * @param array $args Array of arguments. * @return array */ public function get_items( $args = array() ) { $cached = $this->get_cache(); if ( false !== $cached ) { return $cached; } $items = $this->get_item_from_db( $args ); $this->set_cache( $items ); return $items; } /** * Get a single item. * * @param integer $id Item ID. * @return array|object */ public function get_item( $id ) { $cached = $this->get_cache( $id ); if ( false !== $cached ) { return $cached; } $item = $this->get_item_from_db( array( 'id' => $id ) ); return $item; } /** * Load data directly from database. * * @param array $args Array of arguments. * @return array|object */ abstract protected function get_item_from_db( $args = array() ); /** * Create an item. * * @param object $object Item object. * @return void */ abstract public function create_item( $object ); /** * Update an item. * * @param object $object Item object. * @return void */ abstract public function update_item( $object ); /** * Delete an item. * * @param object $object Item object. * @return void */ abstract public function delete_item( $object ); /** * Delete an item. * * @param object $object Item object. * @return array|object */ abstract public function prepare_item( $object ); /** * Get table schema from each module. * * @return void */ abstract protected function get_schema(); /** * Get list of tables to be created. * * @return array */ abstract protected function get_tables(); /** * Insert default data to the plugin. * * @return void */ abstract protected function load_default(); /** * Install tables on the database. * * @return void */ public function install_tables() { if ( get_option( "cky_{$this->table_option}_table_version" ) !== CLI_VERSION ) { require_once ABSPATH . 'wp-admin/includes/upgrade.php'; dbDelta( $this->get_schema(), true ); $this->validate_tables(); } } /** * Validate if all the necessary tables are inserted * * @param string $force Force install tables and data's. * @return void */ public function validate_tables( $force = false ) { $queries = dbDelta( $this->get_schema(), false ); $missing_tables = false; foreach ( $queries as $table_name => $result ) { if ( "Created table $table_name" === $result ) { if ( in_array( $table_name, $this->get_tables(), true ) ) { $missing_tables = true; $this->update_missing_tables( $table_name ); } } } if ( false === $missing_tables ) { if ( false === $this->data_exist() || true === $force ) { $this->load_default(); } foreach ( $this->get_tables() as $table ) { $this->update_missing_tables( $table, true ); } update_option( "cky_{$this->table_option}_table_version", CLI_VERSION ); } } /** * Reinstall the tables if not installed. * * @return void */ public function reinstall() { require_once ABSPATH . 'wp-admin/includes/upgrade.php'; dbDelta( $this->get_schema(), true ); $this->validate_tables( ! $this->data_exist() ); } /** * Return a list of missing tables. * * @return array */ protected function missing_tables() { return get_option( 'cky_missing_tables', array() ); } /** * Add or delete missing tables * * @param string $table_name Tablename. * @param boolean $clear Whether to keep or remove table name from the list. * @return void */ protected function update_missing_tables( $table_name = null, $clear = false ) { if ( ! $table_name ) { return; } $missing_tables = get_option( 'cky_missing_tables', array() ); if ( true === $clear ) { if ( isset( $missing_tables[ $table_name ] ) ) { unset( $missing_tables[ $table_name ] ); } } else { if ( ! isset( $missing_tables[ $table_name ] ) ) { $missing_tables[ $table_name ] = true; } } update_option( 'cky_missing_tables', $missing_tables ); } /** * Check if table exist. * * @return boolean */ protected function table_exist() { global $wpdb; foreach ( $this->get_tables() as $table_name ) { if ( strtolower( $table_name ) !== strtolower( $wpdb->get_var( $wpdb->prepare( 'SHOW TABLES LIKE %s', $wpdb->esc_like( $table_name ) ) ) ) ) { // phpcs:ignore WordPress.DB.DirectDatabaseQuery $this->update_missing_tables( $table_name ); return false; } } return true; } /** * Check if table is empty * * @return boolean */ protected function data_exist() { global $wpdb; $count = 0; foreach ( $this->get_tables() as $table_name ) { if ( ! $this->table_exist() ) { return false; } $count = (int) $wpdb->get_var( "SELECT COUNT(*) FROM {$table_name}" ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery if ( $count > 0 ) { return true; } else { $this->update_missing_tables( $table_name ); // Possibility for missing data while creating the table. return false; } } } } includes/class-deactivator.php000064400000001175150514563140012503 0ustar00 */ class Deactivator { /** * Short Description. (use period) * * Long Description. * * @since 3.0.0 */ public static function deactivate() { } } includes/class-request.php000064400000011743150514563140011670 0ustar00 * @package CookieYes\Lite\Includes */ namespace CookieYes\Lite\Includes; use WP_Error; use Exception; if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class Request */ abstract class Request { /** * API Key * * @var string */ private $api_key = ''; /** * Module action path * * @var string */ private $path = ''; /** * Request Method * * @var string */ private $method = 'POST'; /** * Request max timeout * * @var int */ private $timeout = 180; /** * Header arguments * * @var array */ private $headers = array(); /** * POST arguments * * @var array */ private $post_args = array(); /** * GET arguments * * @var array */ private $get_args = array(); /** * Set the Request API Key * * @param string $api_key API key. */ public function set_api_key( $api_key ) { $this->api_key = $api_key; } /** * Set the Request API Timeout * * @param int|float $timeout Timeout. */ public function set_timeout( $timeout ) { $this->timeout = $timeout; } /** * Add a new request argument for POST requests * * @param string $name Argument name. * @param string $value Argument value. */ public function add_post_argument( $name, $value ) { $this->post_args[ $name ] = $value; } /** * Add a new request argument for GET requests * * @param string $name Argument name. * @param string $value Argument value. */ public function add_get_argument( $name, $value ) { $this->get_args[ $name ] = $value; } /** * Add a new request argument for GET requests * * @param string $name Argument name. * @param string $value Argument value. */ public function add_header_argument( $name, $value ) { $this->headers[ $name ] = $value; } /** * Get the Request URL * * @param string $path Endpoint route. * * @return mixed */ abstract public function get_api_url( $path = '' ); /** * Make a GET API Call * * @param string $path Endpoint route. * @param array $data Data. * * @return mixed */ public function get( $path, $data = array() ) { try { return $this->request( $path, $data, 'get' ); } catch ( Exception $e ) { return new WP_Error( $e->getCode(), $e->getMessage() ); } } /** * Make a GET API Call * * @param string $path Endpoint route. * @param array $data Data. * * @return mixed */ public function post( $path, $data = array() ) { try { return $this->request( $path, $data ); } catch ( Exception $e ) { return new WP_Error( $e->getCode(), $e->getMessage() ); } } /** * Make a PUT API Call * * @param string $path Endpoint route. * @param array $data Data. * * @return mixed */ public function put( $path, $data = array() ) { try { return $this->request( $path, $data, 'put' ); } catch ( Exception $e ) { return new WP_Error( $e->getCode(), $e->getMessage() ); } } /** * Make a GET API Call * * @param string $path Endpoint route. * @param array $data Data. * * @return mixed */ public function head( $path, $data = array() ) { try { return $this->request( $path, $data, 'head' ); } catch ( Exception $e ) { return new WP_Error( $e->getCode(), $e->getMessage() ); } } /** * Make a GET API Call * * @param string $path Endpoint route. * @param array $data Data. * * @return mixed */ public function delete( $path, $data = array() ) { try { return $this->request( $path, $data, 'delete' ); } catch ( Exception $e ) { return new WP_Error( $e->getCode(), $e->getMessage() ); } } /** * Make an API Request * * @since 1.8.1 Timeout for non-blocking changed from 0.1 to 2 seconds. * * @param string $path Path. * @param array $data Arguments array. * @param string $method Method. * * @return array|mixed|object */ public function request( $path, $data = array(), $method = 'post' ) { $url = $this->get_api_url( $path ); $this->make_auth_request(); $url = add_query_arg( $this->get_args, $url ); if ( 'post' !== $method && 'put' !== $method && 'delete' !== $method ) { $url = add_query_arg( $data, $url ); } $args = array( 'headers' => $this->headers, 'sslverify' => false, 'method' => strtoupper( $method ), 'timeout' => $this->timeout, ); switch ( strtolower( $method ) ) { case 'put': case 'delete': case 'post': if ( is_array( $data ) ) { $args['body'] = array_merge( $data, $this->post_args ); } else { $args['body'] = $data; } $response = wp_remote_post( $url, $args ); break; case 'head': $response = wp_remote_head( $url, $args ); break; case 'get': $response = wp_remote_get( $url, $args ); break; default: $response = wp_remote_request( $url, $args ); break; } return $response; } /** * Sign request. */ protected function make_auth_request() {} } includes/class-filesystem.php000064400000012425150514563140012362 0ustar00is_ssl() ) { $wp_info['baseurl'] = str_ireplace( 'http://', 'https://', $wp_info['baseurl'] ); } // Build the paths. $dir_info = array( 'path' => $wp_info['basedir'] . '/' . $assets_dir . '/', 'url' => $wp_info['baseurl'] . '/' . $assets_dir . '/', ); return apply_filters( 'cli__get_assets_uploads_dir', $dir_info ); } /** * Delete file from the filesystem. * * @since 3.0.0 * @param String $file Path to the file or directory. * @param boolean $recursive If set to true, changes file group recursively. * @param boolean $type Type of resource. 'f' for file, 'd' for directory. * @return void */ public function delete( $file, $recursive = false, $type = false ) { $this->get_filesystem()->delete( $file, $recursive, $type ); } /** * Adds contents to the file. * * @param string $file_path Gets the assets path info. * @param string $style_data Gets the CSS data. * @since 3.0.0 * @return bool $put_content returns false if file write is not successful. */ public function put_contents( $file_path, $style_data ) { return $this->get_filesystem()->put_contents( $file_path, $style_data ); } /** * Get contents of the file. * * @param string $file_path Gets the assets path info. * @since 3.0.0 * @return bool $get_contents Gets te file contents. */ public function get_contents( $file_path ) { $file_system = $this->get_filesystem(); if ( isset( $file_system ) && ! isset( $file_system->errors ) ) { $file_path = str_replace( ABSPATH, $this->abspath(), $file_path ); if ( $this->get_filesystem()->exists( $file_path ) && $this->get_filesystem()->is_readable( $file_path ) ) { return $this->get_filesystem()->get_contents( $file_path ); } } else { if ( file_exists( $file_path ) && is_file( $file_path ) ) { return @file_get_contents( $file_path ); } } return false; } /** * Return absolute file path * * @since 3.0.0 * @return string */ public function abspath() { $file_system = $this->get_filesystem(); if ( $file_system->errors ) { return ABSPATH; } return $file_system->abspath(); } } includes/class-loader.php000064400000011062150514563140011440 0ustar00 */ class Loader { /** * The array of actions registered with WordPress. * * @since 3.0.0 * @access protected * @var array $actions The actions registered with WordPress to fire when the plugin loads. */ protected $actions; /** * The array of filters registered with WordPress. * * @since 3.0.0 * @access protected * @var array $filters The filters registered with WordPress to fire when the plugin loads. */ protected $filters; /** * Initialize the collections used to maintain the actions and filters. * * @since 3.0.0 */ public function __construct() { $this->actions = array(); $this->filters = array(); } /** * Add a new action to the collection to be registered with WordPress. * * @since 3.0.0 * @param string $hook The name of the WordPress action that is being registered. * @param object $component A reference to the instance of the object on which the action is defined. * @param string $callback The name of the function definition on the $component. * @param int $priority Optional. The priority at which the function should be fired. Default is 10. * @param int $accepted_args Optional. The number of arguments that should be passed to the $callback. Default is 1. */ public function add_action( $hook, $component, $callback, $priority = 10, $accepted_args = 1 ) { $this->actions = $this->add( $this->actions, $hook, $component, $callback, $priority, $accepted_args ); } /** * Add a new filter to the collection to be registered with WordPress. * * @since 3.0.0 * @param string $hook The name of the WordPress filter that is being registered. * @param object $component A reference to the instance of the object on which the filter is defined. * @param string $callback The name of the function definition on the $component. * @param int $priority Optional. The priority at which the function should be fired. Default is 10. * @param int $accepted_args Optional. The number of arguments that should be passed to the $callback. Default is 1. */ public function add_filter( $hook, $component, $callback, $priority = 10, $accepted_args = 1 ) { $this->filters = $this->add( $this->filters, $hook, $component, $callback, $priority, $accepted_args ); } /** * A utility function that is used to register the actions and hooks into a single * collection. * * @since 3.0.0 * @access private * @param array $hooks The collection of hooks that is being registered (that is, actions or filters). * @param string $hook The name of the WordPress filter that is being registered. * @param object $component A reference to the instance of the object on which the filter is defined. * @param string $callback The name of the function definition on the $component. * @param int $priority The priority at which the function should be fired. * @param int $accepted_args The number of arguments that should be passed to the $callback. * @return array The collection of actions and filters registered with WordPress. */ private function add( $hooks, $hook, $component, $callback, $priority, $accepted_args ) { $hooks[] = array( 'hook' => $hook, 'component' => $component, 'callback' => $callback, 'priority' => $priority, 'accepted_args' => $accepted_args, ); return $hooks; } /** * Register the filters and actions with WordPress. * * @since 3.0.0 */ public function run() { foreach ( $this->filters as $hook ) { add_filter( $hook['hook'], array( $hook['component'], $hook['callback'] ), $hook['priority'], $hook['accepted_args'] ); } foreach ( $this->actions as $hook ) { add_action( $hook['hook'], array( $hook['component'], $hook['callback'] ), $hook['priority'], $hook['accepted_args'] ); } } } includes/class-activator.php000064400000010652150514563140012172 0ustar00 */ class Activator { /** * Instance of the current class * * @var object */ private static $instance; /** * Update DB callbacks. * * @var array */ private static $db_updates = array( '3.0.7' => array( 'update_db_307', ), ); /** * Return the current instance of the class * * @return object */ public static function get_instance() { if ( null === self::$instance ) { self::$instance = new self(); } return self::$instance; } /** * Activate the plugin * * @since 3.0.0 * @return void */ public static function init() { add_action( 'init', array( __CLASS__, 'check_version' ), 5 ); } /** * Check the plugin version and run the updater is required. * * This check is done on all requests and runs if the versions do not match. */ public static function check_version() { if ( ! defined( 'IFRAME_REQUEST' ) && version_compare( get_option( 'wt_cli_version', '2.1.3' ), CLI_VERSION, '<' ) ) { self::install(); } } /** * Install all the plugin * * @return void */ public static function install() { self::check_for_upgrade(); if ( true === cky_first_time_install() ) { add_option( 'cky_first_time_activated_plugin', 'true' ); } self::maybe_update_db(); update_option( 'wt_cli_version', CLI_VERSION ); do_action( 'cky_after_activate', CLI_VERSION ); self::update_db_version(); } /** * Set a temporary flag during the first time installation. * * @return void */ public static function check_for_upgrade() { if ( false === get_option( 'cky_settings', false ) ) { if ( false === get_site_transient( '_cky_first_time_install' ) ) { set_site_transient( '_cky_first_time_install', true, 30 ); } } } /** * Update DB version to track changes to data structure. * * @param string $version Current version. * @return void */ public static function update_db_version( $version = null ) { update_option( 'cky_cookie_consent_lite_db_version', is_null( $version ) ? CLI_VERSION : $version ); } /** * Check if any database changes is required on the latest release * * @return boolean */ private static function needs_db_update() { $current_version = get_option( 'cky_cookie_consent_lite_db_version', '3.0.7' ); // @since 3.0.7 introduced DB migrations $updates = self::$db_updates; $update_versions = array_keys( $updates ); usort( $update_versions, 'version_compare' ); return ! is_null( $current_version ) && version_compare( $current_version, end( $update_versions ), '<' ); } /** * Update DB if required * * @return void */ public static function maybe_update_db() { if ( self::needs_db_update() ) { self::update(); } } /** * Run a update check during each release update. * * @return void */ private static function update() { $current_version = get_option( 'cky_cookie_consent_lite_db_version', '3.0.7' ); foreach ( self::$db_updates as $version => $callbacks ) { if ( version_compare( $current_version, $version, '<' ) ) { foreach ( $callbacks as $callback ) { self::$callback(); } } } } /** * Migrate existing banner contents to support new CCPA/GPC changes * * @return void */ public static function update_db_307() { $items = Controller::get_instance()->get_items(); foreach ( $items as $item ) { $banner = new Banner( $item->banner_id ); $contents = $banner->get_contents(); foreach ( $contents as $language => $content ) { $translation = $banner->get_translations( $language ); $text = isset( $translation['optoutPopup']['elements']['buttons']['elements']['confirm'] ) ? $translation['optoutPopup']['elements']['buttons']['elements']['confirm'] : 'Save My Preferences'; $content['optoutPopup']['elements']['buttons']['elements']['confirm'] = $text; $contents[ $language ] = $content; } $banner->set_contents( $contents ); $banner->save(); } } } includes/class-cli.php000064400000013337150514563140010750 0ustar00 */ class CLI { /** * The loader that's responsible for maintaining and registering all hooks that power * the plugin. * * @since 3.0.0 * @access protected * @var Loader $loader Maintains and registers all hooks for the plugin. */ protected $loader; /** * The unique identifier of this plugin. * * @since 3.0.0 * @access protected * @var string $plugin_name The string used to uniquely identify this plugin. */ protected $plugin_name; /** * The current version of the plugin. * * @since 3.0.0 * @access protected * @var string $version The current version of the plugin. */ protected $version; /** * Initial version of plugin database. * * Since 1.9.4 we've started to store cookie database version on the plugin. * * @var string */ public static $db_initial_version = '1.9.4'; /** * Define the core functionality of the plugin. * * Set the plugin name and the plugin version that can be used throughout the plugin. * Load the dependencies, define the locale, and set the hooks for the admin area and * the public-facing side of the site. * * @since 3.0.0 */ public function __construct() { if ( defined( 'CLI_VERSION' ) ) { $this->version = CLI_VERSION; } else { $this->version = '3.0.9'; } $this->plugin_name = 'cookie-law-info'; $this->load_dependencies(); $this->set_locale(); $this->define_admin_hooks(); $this->define_public_hooks(); $this->init_license(); } /** * Load the required dependencies for this plugin. * * Include the following files that make up the plugin: * * - Loader. Orchestrates the hooks of the plugin. * - I18n. Defines internationalization functionality. * - Admin. Defines all hooks for the admin area. * - Frontend. Defines all hooks for the public side of the site. * * Create an instance of the loader which will be used to register the hooks * with WordPress. * * @since 3.0.0 * @access private */ private function load_dependencies() { /** * The class responsible for defining all actions that occur in the public-facing * side of the site. */ require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-utils.php'; require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-formatting.php'; require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-i18n-helpers.php'; $this->loader = new \CookieYes\Lite\Includes\Loader(); } /** * Define the locale for this plugin for internationalization. * * Uses the I18n class in order to set the domain and to register the hook * with WordPress. * * @since 3.0.0 * @access private */ private function set_locale() { $plugin_i18n = I18n::get_instance(); $this->loader->add_action( 'plugins_loaded', $plugin_i18n, 'load_plugin_textdomain' ); } /** * Register all of the hooks related to the admin area functionality * of the plugin. * * @since 3.0.0 * @access private */ private function define_admin_hooks() { $plugin_admin = new Admin( $this->get_plugin_name(), $this->get_version() ); $this->loader->add_action( 'admin_enqueue_scripts', $plugin_admin, 'enqueue_styles' ); $this->loader->add_action( 'admin_enqueue_scripts', $plugin_admin, 'enqueue_scripts' ); } /** * Register all of the hooks related to the public-facing functionality * of the plugin. * * @since 3.0.0 * @access private */ private function define_public_hooks() { $plugin_public = new Frontend( $this->get_plugin_name(), $this->get_version() ); } /** * Run the loader to execute all of the hooks with WordPress. * * @since 3.0.0 */ public function run() { $this->loader->run(); } /** * The name of the plugin used to uniquely identify it within the context of * WordPress and to define internationalization functionality. * * @since 3.0.0 * @return string The name of the plugin. */ public function get_plugin_name() { return $this->plugin_name; } /** * The reference to the class that orchestrates the hooks with the plugin. * * @since 3.0.0 * @return Loader Orchestrates the hooks of the plugin. */ public function get_loader() { return $this->loader; } /** * Retrieve the version number of the plugin. * * @since 3.0.0 * @return string The version number of the plugin. */ public function get_version() { return $this->version; } /** * Inititialize the license. * * @return void */ public function init_license() { $object = new Settings(); $settings = $object->get(); $connected = isset( $settings['account']['connected'] ) && true === $settings['account']['connected'] ? true : false; if ( true === $connected ) { define( 'CKY_CLOUD_REQUEST', true ); } else { define( 'CKY_CLOUD_REQUEST', false ); } } } includes/class-cloud-controller.php000064400000005771150514563140013473 0ustar00cache_group ); if ( false === $cached ) { return false; } if ( ! empty( $cached ) ) { foreach ( $cached as $data ) { $item = $this->prepare_item( $data ); if ( ! empty( $item ) ) { $items[ $item->{$this->id} ] = $item; } } } return isset( $id ) && isset( $items[ $id ] ) ? $items[ $id ] : $items; } /** * Set items to the cache. * * @param array $data Data. * @return void */ protected function set_cache( $data = array() ) { Cache::set( 'all', $this->cache_group, $data ); } /** * Delete the cache. * * @return void */ public function delete_cache() { Cache::delete( $this->cache_group ); } /** * Reset the cache on page load. * * @return void */ public function reset_cache() { if ( cky_is_admin_request() && cky_is_admin_page() ) { Cache::delete( $this->cache_group ); } } /** * Get multiple items. * * @param array $args Arguments. * @return array */ public function get_items( $args = array() ) { $cached = $this->get_cache(); if ( false !== $cached ) { return $cached; } $items = $this->get_item_from_db( $args ); $this->set_cache( $items ); return $items; } /** * Get a single item. * * @param integer $id Item ID. * @return array|object */ public function get_item( $id ) { $cached = $this->get_cache( $id ); if ( false !== $cached ) { return $cached; } $item = $this->get_item_from_db( array( 'id' => $id ) ); return $item; } /** * Load data directly from database. * * @param array $args Array of arguments. * @return array|object */ abstract protected function get_item_from_db( $args = array() ); /** * Create an item. * * @param object $object Item object. * @return void */ abstract public function create_item( $object ); /** * Update an item. * * @param object $object Item object. * @return void */ abstract public function update_item( $object ); /** * Delete an item. * * @param object $object Item object. * @return void */ abstract public function delete_item( $object ); /** * Delete an item. * * @param object $object Item object. * @return array|object */ abstract public function prepare_item( $object ); } includes/class-modules.php000064400000002604150514563140011644 0ustar00module_id = $module_id; if ( true === $this->is_active() ) { $this->init(); } } /** * Return true if the module is activated * * @return Boolean */ public function is_active() { $module_id = $this->get_module_id(); return apply_filters( "cky_is_module_active_$module_id", true ); } /** * Return the module slug name * * @return string */ public function get_module_id() { return $this->module_id; } /** * Initializes the module. Always executed even if the module is deactivated. * * Do not use __construct in subclasses, use init() instead */ abstract public function init(); } includes/class-formatting.php000064400000007536150514563140012357 0ustar00 array( 'type' => 'true', 'style' => true, 'id' => true, 'class' => true, ), ), wp_kses_allowed_html( 'post' ) ); $html = array_map( '_cky_global_attributes', $html ); return apply_filters( 'cky_allowed_html', $html ); } /** * Global attributes for any html tags * * @param string $value Default attribute. * @return array */ function _cky_global_attributes( $value ) { $global_attributes = array( 'aria-describedby' => true, 'aria-details' => true, 'aria-label' => true, 'aria-labelledby' => true, 'aria-hidden' => true, 'class' => true, 'id' => true, 'style' => true, 'title' => true, 'role' => true, 'data-*' => true, 'data-cky-tag' => true, ); if ( true === $value ) { $value = array(); } if ( is_array( $value ) ) { return array_merge( $value, $global_attributes ); } return $value; } } if ( ! function_exists( 'cky_sanitize_content' ) ) { /** * Sanitizes content for allowed HTML tags for post content. * * Post content refers to the page contents of the 'post' type and not `$_POST` * data from forms. * * This function expects unslashed data. * * @since 3.0.0 * * @param string $string Post content to filter. * @return string Filtered post content with allowed HTML tags and attributes intact. */ function cky_sanitize_content( $string ) { if ( is_array( $string ) ) { return array_map( 'cky_sanitize_content', $string ); } else { return is_scalar( $string ) ? wp_kses( $string, cky_allowed_html() ) : $string; } } } if ( ! function_exists( 'cky_sanitize_color' ) ) { /** * Sanitize color value. * * @param string $value The color value. * @return string */ function cky_sanitize_color( $value ) { if ( 'transparent' === strtolower( $value ) ) { return sanitize_text_field( $value ); } if ( false === strpos( $value, 'rgba' ) ) { return sanitize_hex_color( $value ); } // rgba value. $red = ''; $green = ''; $blue = ''; $alpha = ''; sscanf( $value, 'rgba(%d,%d,%d,%f)', $red, $green, $blue, $alpha ); return 'rgba(' . $red . ',' . $green . ',' . $blue . ',' . $alpha . ')'; } } frontend/class-frontend.php000064400000040103150514563140012020 0ustar00 */ class Frontend { /** * The ID of this plugin. * * @since 3.0.0 * @access private * @var string $plugin_name The ID of this plugin. */ private $plugin_name; /** * The version of this plugin. * * @since 3.0.0 * @access private * @var string $version The current version of this plugin. */ private $version; /** * Admin modules of the plugin * * @var array */ private static $modules; /** * Currently active modules * * @var array */ private static $active_modules; /** * Existing modules * * @var array */ public static $existing_modules; /** * Banner object * * @var object */ protected $banner; /** * Plugin settings * * @var object */ protected $settings; /** * Banner template * * @var object */ protected $template; /** * Providers list * * @var array */ protected $providers = array(); /** * Initialize the class and set its properties. * * @since 3.0.0 * @param string $plugin_name The name of the plugin. * @param string $version The version of this plugin. */ public function __construct( $plugin_name, $version ) { $this->plugin_name = $plugin_name; $this->version = $version; $this->load_modules(); $this->settings = new Settings(); add_action( 'init', array( $this, 'load_banner' ) ); add_action( 'wp_footer', array( $this, 'banner_html' ) ); add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 1 ); add_action( 'wp_head', array( $this, 'insert_script' ), 1 ); add_action( 'wp_head', array( $this, 'insert_styles' ) ); } /** * Get the default modules array * * @since 3.0.0 * @return array */ public function get_default_modules() { $modules = array(); return $modules; } /** * Load all the modules * * @return void */ public function load_modules() { if ( true === cky_disable_banner() ) { return; } foreach ( $this->get_default_modules() as $module ) { $parts = explode( '_', $module ); $class = implode( '_', $parts ); $class = str_ireplace( '-', '_', $class ); $module = str_ireplace( '-', '_', $module ); $class_name = 'CookieYes\Lite\\Frontend\\Modules\\' . ucwords( $module, '_' ) . '\\' . ucwords( $class, '_' ); if ( class_exists( $class_name ) ) { $module_obj = new $class_name( $module ); if ( $module_obj instanceof $class_name ) { if ( $module_obj->is_active() ) { $module_obj->init(); self::$active_modules[ $module ] = true; } } } } } /** * Enqeue front end scripts * * @return void */ public function enqueue_scripts() { if ( true === cky_disable_banner() ) { return; } if ( false === $this->settings->is_connected() ) { if ( ! $this->template ) { return; } $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; $css = isset( $this->template['styles'] ) ? $this->template['styles'] : ''; wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/script' . $suffix . '.js', array(), $this->version, false ); wp_localize_script( $this->plugin_name, '_ckyConfig', $this->get_store_data() ); wp_localize_script( $this->plugin_name, '_ckyStyles', array( 'css' => $css ) ); } } /** * Add inline styles to the head * * @return void */ public function insert_styles() { if ( true === $this->settings->is_connected() || true === cky_disable_banner() || is_admin() ) { return; } echo ''; } /** * Add CookieYes web app script on the header. * * @return void */ public function insert_script() { if ( false === $this->settings->is_connected() || true === cky_disable_banner() ) { return; } echo ''; // phpcs:ignore WordPress.WP.EnqueuedResources.NonEnqueuedScript } /** * Load active banner. * * @return void */ public function load_banner() { if ( true === $this->settings->is_connected() || true === cky_disable_banner() ) { return; } if ( ! cky_is_front_end_request() ) { return; } $this->banner = Controller::get_instance()->get_active_banner(); if ( false === $this->banner ) { return; } $this->template = $this->banner->get_template(); } /** * Print banner HTML as script template using * type="text/template" attribute * * @return void */ public function banner_html() { if ( ! $this->template || true === cky_disable_banner() ) { return; } $html = isset( $this->template['html'] ) ? $this->template['html'] : ''; echo ''; } /** * Modify tags to now show any `id` attribute. * * @param string $tag The `'; // phpcs:ignore WordPress.WP.EnqueuedResources.NonEnqueuedScript } return $tag; } /** * Get store data * * @return array */ public function get_store_data() { if ( ! $this->banner ) { return; } $settings = get_option( 'cky_settings' ); $banner = $this->banner; $banner_settings = $banner->get_settings(); $providers = array(); $store = array( '_ipData' => array(), '_assetsURL' => CKY_PLUGIN_URL . 'frontend/images/', '_publicURL' => get_site_url(), '_expiry' => isset( $banner_settings['settings']['consentExpiry']['value'] ) ? absint( $banner_settings['settings']['consentExpiry']['value'] ) : 365, '_categories' => $this->get_cookie_groups(), '_activeLaw' => 'gdpr', '_rootDomain' => $this->get_cookie_domain(), '_block' => true, '_showBanner' => true, '_bannerConfig' => $this->prepare_config(), '_version' => $this->version, '_logConsent' => isset( $settings['consent_logs']['status'] ) && true === $settings['consent_logs']['status'] ? true : false, '_tags' => $this->prepare_tags(), '_shortCodes' => $this->prepare_shortcodes( $banner->get_settings() ), '_rtl' => $this->is_rtl(), ); foreach ( $this->providers as $key => $value ) { $providers[] = array( 're' => $key, 'categories' => $value, ); } $store['_providersToBlock'] = $providers; return $store; } /** * Return cookie domain * * @return string */ public function get_cookie_domain() { return apply_filters( 'cky_cookie_domain', '' ); } /** * Get cookie groups * * @return array */ public function get_cookie_groups() { $cookie_groups = array(); $categories = \CookieYes\Lite\Admin\Modules\Cookies\Includes\Category_Controller::get_instance()->get_items(); foreach ( $categories as $category ) { $category = new \CookieYes\Lite\Admin\Modules\Cookies\Includes\Cookie_Categories( $category ); $cookie_groups[] = array( 'name' => $category->get_name( cky_current_language() ), 'slug' => $category->get_slug(), 'isNecessary' => 'necessary' === $category->get_slug() ? true : false, 'ccpaDoNotSell' => $category->get_sell_personal_data(), 'cookies' => $this->get_cookies( $category ), 'active' => true, 'defaultConsent' => array( 'gdpr' => $category->get_prior_consent(), 'ccpa' => 'necessary' === $category->get_slug() || $category->get_sell_personal_data() === false ? true : false, ), ); } return $cookie_groups; } /** * Get cookies by category * * @param object $category Category object. * @return array */ public function get_cookies( $category = '' ) { $cookies = array(); $cat_slug = $category->get_slug(); $items = \CookieYes\Lite\Admin\Modules\Cookies\Includes\Cookie_Controller::get_instance()->get_items_by_category( $category->get_id() ); foreach ( $items as $item ) { $cookie = new \CookieYes\Lite\Admin\Modules\Cookies\Includes\Cookie( $item->cookie_id ); $cookies[] = array( 'cookieID' => $cookie->get_name(), 'domain' => $cookie->get_domain(), 'provider' => $cookie->get_url_pattern(), ); $provider = $cookie->get_url_pattern(); if ( '' !== $provider && 'necessary' !== $cat_slug ) { if ( ! isset( $this->providers[ $provider ] ) ) { $this->providers[ $provider ] = array(); } if ( isset( $this->providers[ $provider ] ) && ! in_array( $cat_slug, $this->providers[ $provider ], true ) ) { $this->providers[ $provider ][] = $cat_slug; } } } return $cookies; } /** * Prepare the HTML elements tags for front-end script. * * @return array */ public function prepare_tags() { $data = array(); if ( ! $this->banner ) { return; } $settings = $this->banner->get_settings(); $configs = isset( $settings['config'] ) ? $settings['config'] : array(); $supported = array( 'accept-button', 'reject-button', 'settings-button', 'readmore-button', 'donotsell-button', 'accept-button', 'revisit-consent', ); foreach ( $supported as $tag ) { $config = cky_array_search( $configs, 'tag', $tag ); $data[] = array( 'tag' => $tag, 'styles' => isset( $config['styles'] ) ? $config['styles'] : array(), ); } return $data; } /** * Prepare config for the front-end processing * * @return array */ public function prepare_config() { $data = array(); $banner = $this->banner; if ( ! $banner ) { return $data; } $properties = $banner->get_settings(); $data['settings']['type'] = $properties['settings']['type']; $data['settings']['position'] = $properties['settings']['position']; $data['settings']['applicableLaw'] = $properties['settings']['applicableLaw']; $data['behaviours']['reloadBannerOnAccept'] = $properties['behaviours']['reloadBannerOnAccept']['status']; $data['behaviours']['loadAnalyticsByDefault'] = $properties['behaviours']['loadAnalyticsByDefault']['status']; $data['behaviours']['animations'] = $properties['behaviours']['animations']; $data['config']['revisitConsent'] = $properties['config']['revisitConsent']; $data['config']['preferenceCenter']['toggle'] = $properties['config']['preferenceCenter']['elements']['categories']['elements']['toggle']; $data['config']['categoryPreview']['status'] = $properties['config']['categoryPreview']['status']; $data['config']['categoryPreview']['toggle'] = $properties['config']['categoryPreview']['elements']['toggle']; $data['config']['videoPlaceholder']['status'] = $properties['config']['videoPlaceholder']['status']; $data['config']['videoPlaceholder']['styles'] = array_merge( $properties['config']['videoPlaceholder']['styles'], $properties['config']['videoPlaceholder']['elements']['title']['styles'] ); $data['config']['readMore'] = $properties['config']['notice']['elements']['buttons']['elements']['readMore']; $data['config']['auditTable']['status'] = $properties['config']['auditTable']['status']; $data['config']['optOption']['status'] = $properties['config']['optoutPopup']['elements']['optOption']['status']; $data['config']['optOption']['toggle'] = $properties['config']['optoutPopup']['elements']['optOption']['elements']['toggle']; return $data; } /** * Prepare shortcodes to be used on visitor side. * * @param array $properties Banner properties. * @return array */ public function prepare_shortcodes( $properties = array() ) { $settings = isset( $properties['settings'] ) ? $properties['settings'] : array(); $version_id = isset( $settings['versionID'] ) ? $settings['versionID'] : 'default'; $shortcodes = new \CookieYes\Lite\Frontend\Modules\Shortcodes\Shortcodes( $this->banner, $version_id ); $data = array(); $configs = ( isset( $properties['config'] ) && is_array( $properties['config'] ) ) ? $properties['config'] : array(); $config = cky_array_search( $configs, 'tag', 'readmore-button' ); $attributes = array(); if ( isset( $config['meta']['noFollow'] ) && true === $config['meta']['noFollow'] ) { $attributes['rel'] = 'nofollow'; } if ( isset( $config['meta']['newTab'] ) && true === $config['meta']['newTab'] ) { $attributes['target'] = '_blank'; } $data[] = array( 'key' => 'cky_readmore', 'content' => do_shortcode( '[cky_readmore]' ), 'tag' => 'readmore-button', 'status' => isset( $config['status'] ) && true === $config['status'] ? true : false, 'attributes' => $attributes, ); $data[] = array( 'key' => 'cky_show_desc', 'content' => do_shortcode( '[cky_show_desc]' ), 'tag' => 'show-desc-button', 'status' => true, 'attributes' => array(), ); $data[] = array( 'key' => 'cky_hide_desc', 'content' => do_shortcode( '[cky_hide_desc]' ), 'tag' => 'hide-desc-button', 'status' => true, 'attributes' => array(), ); $data[] = array( 'key' => 'cky_category_toggle_label', 'content' => do_shortcode( '[cky_category_toggle_label]' ), 'tag' => '', 'status' => true, 'attributes' => array(), ); $data[] = array( 'key' => 'cky_enable_category_label', 'content' => do_shortcode( '[cky_enable_category_label]' ), 'tag' => '', 'status' => true, 'attributes' => array(), ); $data[] = array( 'key' => 'cky_disable_category_label', 'content' => do_shortcode( '[cky_disable_category_label]' ), 'tag' => '', 'status' => true, 'attributes' => array(), ); $data[] = array( 'key' => 'cky_video_placeholder', 'content' => do_shortcode( '[cky_video_placeholder]' ), 'tag' => '', 'status' => true, 'attributes' => array(), ); $data[] = array( 'key' => 'cky_enable_optout_label', 'content' => do_shortcode( '[cky_enable_optout_label]' ), 'tag' => '', 'status' => true, 'attributes' => array(), ); $data[] = array( 'key' => 'cky_disable_optout_label', 'content' => do_shortcode( '[cky_disable_optout_label]' ), 'tag' => '', 'status' => true, 'attributes' => array(), ); $data[] = array( 'key' => 'cky_optout_toggle_label', 'content' => do_shortcode( '[cky_optout_toggle_label]' ), 'tag' => '', 'status' => true, 'attributes' => array(), ); $data[] = array( 'key' => 'cky_optout_option_title', 'content' => do_shortcode( '[cky_optout_option_title]' ), 'tag' => '', 'status' => true, 'attributes' => array(), ); $data[] = array( 'key' => 'cky_optout_close_label', 'content' => do_shortcode( '[cky_optout_close_label]' ), 'tag' => '', 'status' => true, 'attributes' => array(), ); return $data; } /** * Determines whether the current/given language code is right-to-left (RTL) * * @param string $language Current language. * @return boolean */ public function is_rtl( $language = '' ) { if ( ! $language ) { $language = cky_current_language(); } return in_array( $language, array( 'ar', 'az', 'dv', 'he', 'ku', 'fa', 'ur' ), true ); } } frontend/modules/shortcodes/versions/6.0.0/shortcodes.json000064400000032347150514563140017606 0ustar00[ { "key": "cky_revisit_title", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_notice_title", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_notice_description", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_settings_text", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_reject_text", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_accept_text", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_readmore_text", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_notice_close_label", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_preview_save_text", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_optout_title", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_optout_description", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_optout_option_title", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_enable_optout_label", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_disable_optout_label", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_optout_gpc_description", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_optout_close_label", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_preference_title", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_preference_description", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_showmore_text", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_showless_text", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_preference_accept_text", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_preference_reject_text", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_preference_save_text", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_donotsell_text", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_preference_always_enabled", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_enable_category_label", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_disable_category_label", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_optout_cancel_text", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_optout_confirm_text", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_preference_close_label", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_video_placeholder_title", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_audit_table_empty_text", "type": "text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_settings", "type": "html", "content": { "link": "[cky_settings_text]", "button": "" }, "attributes": { "data-cky-tag": "settings-button" }, "customTag": "settings-button", "uiTag": "settings-button" }, { "key": "cky_reject", "type": "html", "content": { "link": "[cky_reject_text]", "button": "" }, "attributes": { "data-cky-tag": "reject-button" }, "customTag": "reject-button", "uiTag": "reject-button" }, { "key": "cky_accept", "type": "html", "content": { "link": "[cky_accept_text]", "button": "" }, "attributes": { "data-cky-tag": "accept-button" }, "customTag": "accept-button", "uiTag": "accept-button" }, { "key": "cky_donot_sell", "type": "html", "content": { "link": "[cky_donotsell_text]", "button": "" }, "attributes": { "data-cky-tag": "donotsell-button" }, "customTag": "donotsell-button", "uiTag": "donotsell-button" }, { "key": "cky_show_desc", "type": "data", "content": { "button": "" }, "attributes": {}, "customTag": "", "uiTag": "show-desc-button" }, { "key": "cky_hide_desc", "type": "data", "content": { "button": "" }, "attributes": {}, "customTag": "", "uiTag": "hide-desc-button" }, { "key": "cky_readmore", "type": "data", "content": { "link": "[cky_readmore_text]", "button": "" }, "attributes": { "data-cky-tag": "readmore-button" }, "customTag": "", "uiTag": "readmore-button" }, { "key": "cky_audit_table", "type": "data", "content": { "container": "" }, "attributes": {}, "customTag": "", "uiTag": "audit-table" }, { "key": "cky_outside_audit_table", "type": "data", "content": { "container": "

[cky_preference_{{category_slug}}_title]

[CONTENT]
" }, "attributes": {}, "customTag": "", "uiTag": "outside-audit-table" }, { "key": "cky_audit_table_empty", "type": "data", "content": { "container": "

[cky_audit_table_empty_text]

" }, "attributes": {}, "customTag": "", "uiTag": "audit-table-empty" }, { "key": "cky_category_toggle_label", "type": "data", "content": { "container": "[cky_{{status}}_category_label] [cky_preference_{{category_slug}}_title]" }, "attributes": {}, "customTag": "", "uiTag": "detail-category-toggle" }, { "key": "cky_optout_toggle_label", "type": "data", "content": { "container": "[cky_{{status}}_optout_label] [cky_optout_option_title]" }, "attributes": {}, "customTag": "", "uiTag": "optout-option-toggle" }, { "key": "cky_video_placeholder", "type": "data", "content": { "container": "

[cky_video_placeholder_title]

" }, "attributes": {}, "customTag": "", "uiTag": "video-placeholder" }, { "key": "cky_preview_category", "type": "system", "content": { "container": "
" }, "attributes": {}, "customTag": "", "uiTag": "detail-category-preview" }, { "key": "cky_preference_category", "type": "system", "content": { "container": "
[cky_preference_always_enabled]
[cky_preference_{{category_slug}}_description]
[cky_audit_table]
" }, "attributes": {}, "customTag": "", "uiTag": "detail-categories" }, { "key": "cky_preview_{{category_slug}}_title", "type": "category-text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_preference_{{category_slug}}_title", "type": "category-text", "content": {}, "attributes": {}, "customTag": "", "uiTag": "" }, { "key": "cky_preference_{{category_slug}}_description", "type": "category-text", "content": {}, "customTag": "", "uiTag": "" }, { "key": "cky_privacy_link", "type": "data", "content": {}, "customTag": "", "uiTag": "" } ]frontend/modules/shortcodes/class-shortcodes.php000064400000053175150514563140016220 0ustar00get_contents(); $settings = $banner->get_settings(); $this->preview = defined( 'CKY_PREVIEW_REQUEST' ) && CKY_PREVIEW_REQUEST; $this->connected = cky_is_cloud_request(); $this->language = $banner->get_language(); $this->template = $template; $this->properties = $settings; $this->law = $banner->get_law(); $this->contents = isset( $contents[ $this->language ] ) ? $contents[ $this->language ] : ''; $this->load_shortcodes(); $this->init(); } /** * Load shortcodes from a json file * * @return void */ private function load_shortcodes() { $this->shortcodes = cky_read_json_file( dirname( __FILE__ ) . '/versions/' . esc_html( $this->template ) . '/shortcodes.json' ); } /** * Init shortcodes. */ public function init() { $shortcodes = ( isset( $this->shortcodes ) && is_array( $this->shortcodes ) ) ? $this->shortcodes : array(); if ( empty( $shortcodes ) ) { return false; } foreach ( $shortcodes as $shortcode ) { $code = $shortcode['key']; $function = array( $this, $code ); if ( method_exists( $this, $code ) ) { add_shortcode( apply_filters( "cky_{$code}_shortcode_tag", $code ), $function ); } } } /** * Return notice title * * @return string */ public function cky_notice_title() { return isset( $this->contents['notice']['elements']['title'] ) ? $this->contents['notice']['elements']['title'] : ''; } /** * Return notice description * * @return string */ public function cky_notice_description() { return isset( $this->contents['notice']['elements']['description'] ) ? do_shortcode( $this->contents['notice']['elements']['description'] ) : ''; } /** * Return accept button text * * @return string */ public function cky_accept_text() { return isset( $this->contents['notice']['elements']['buttons']['elements']['accept'] ) ? $this->contents['notice']['elements']['buttons']['elements']['accept'] : ''; } /** * Return reject button text * * @return string */ public function cky_reject_text() { return isset( $this->contents['notice']['elements']['buttons']['elements']['reject'] ) ? $this->contents['notice']['elements']['buttons']['elements']['reject'] : ''; } /** * Return settings button text * * @return string */ public function cky_settings_text() { return isset( $this->contents['notice']['elements']['buttons']['elements']['settings'] ) ? $this->contents['notice']['elements']['buttons']['elements']['settings'] : ''; } /** * Return readmore button text * * @return string */ public function cky_readmore_text() { return isset( $this->contents['notice']['elements']['buttons']['elements']['readMore'] ) ? $this->contents['notice']['elements']['buttons']['elements']['readMore'] : ''; } /** * Returns donotsell button text * * @return string */ public function cky_donotsell_text() { return isset( $this->contents['notice']['elements']['buttons']['elements']['donotSell'] ) ? $this->contents['notice']['elements']['buttons']['elements']['donotSell'] : ''; } /** * Preference title * * @return string */ public function cky_preference_title() { return isset( $this->contents['preferenceCenter']['elements']['title'] ) ? $this->contents['preferenceCenter']['elements']['title'] : ''; } /** * Return preference description * * @return string */ public function cky_preference_description() { return isset( $this->contents['preferenceCenter']['elements']['description'] ) ? $this->contents['preferenceCenter']['elements']['description'] : ''; } /** * Return preference accept button text * * @return string */ public function cky_preference_accept_text() { return isset( $this->contents['preferenceCenter']['elements']['buttons']['elements']['accept'] ) ? $this->contents['preferenceCenter']['elements']['buttons']['elements']['accept'] : ''; } /** * Return preference reject button text * * @return string */ public function cky_preference_reject_text() { return isset( $this->contents['preferenceCenter']['elements']['buttons']['elements']['reject'] ) ? $this->contents['preferenceCenter']['elements']['buttons']['elements']['reject'] : ''; } /** * Return preference save button text * * @return string */ public function cky_preference_save_text() { return isset( $this->contents['preferenceCenter']['elements']['buttons']['elements']['save'] ) ? $this->contents['preferenceCenter']['elements']['buttons']['elements']['save'] : ''; } /** * Return preference always enabled text * * @return string */ public function cky_preference_always_enabled() { return isset( $this->contents['preferenceCenter']['elements']['category']['elements']['alwaysEnabled'] ) ? $this->contents['preferenceCenter']['elements']['category']['elements']['alwaysEnabled'] : ''; } /** * Callback for the shortcode [cky_revisit_title] * * @return string */ public function cky_revisit_title() { return isset( $this->contents['revisitConsent']['elements']['title'] ) ? $this->contents['revisitConsent']['elements']['title'] : ''; } /** * Callback for the shortcode [cky_preview_save_text] * * @return string */ public function cky_preview_save_text() { return isset( $this->contents['categoryPreview']['elements']['buttons']['elements']['save'] ) ? $this->contents['categoryPreview']['elements']['buttons']['elements']['save'] : ''; } /** * Return accept button HTML * * @param array $atts Shortcode attributes. * @return string */ public function cky_accept( $atts ) { return $this->get_btn_html( 'accept-button' ); } /** * Return reject button HTML * * @param array $atts Shortcode attributes. * @return string */ public function cky_reject( $atts ) { return $this->get_btn_html( 'reject-button' ); } /** * Return settings button HTML * * @param array $atts Shortcode attributes. * @return string */ public function cky_settings( $atts ) { return $this->get_btn_html( 'settings-button' ); } /** * Return readmore button HTML * * @param array $atts Shortcode attributes. * @return string */ public function cky_readmore( $atts ) { return $this->get_btn_html( 'readmore-button' ); } /** * Return donotsell button HTML * * @param array $atts Shortcode attributes. * @return string */ public function cky_donot_sell( $atts ) { return $this->get_btn_html( 'donotsell-button' ); } /** * Return button HTML * * @param string $tag Shortcode tag. * @return string */ public function get_btn_html( $tag = 'settings-button' ) { $config = cky_array_search( $this->properties['config'], 'tag', $tag ); $shortcode_data = cky_array_search( $this->shortcodes, 'uiTag', $tag ); if ( false === $shortcode_data ) { return ''; } $btn_html = isset( $shortcode_data['content']['button'] ) ? $shortcode_data['content']['button'] : ''; if ( isset( $config['type'] ) && 'link' === $config['type'] ) { $btn_html = isset( $shortcode_data['content']['link'] ) ? wp_kses( $shortcode_data['content']['link'], cky_allowed_html() ) : ''; } return do_shortcode( $btn_html ); } /** * Return preference table HTML * * @return string */ public function cky_preference_category() { $html = ''; $categories = Category_Controller::get_instance()->get_items(); $shortcode_data = cky_array_search( $this->shortcodes, 'uiTag', 'detail-categories' ); $content = isset( $shortcode_data['content']['container'] ) ? wp_kses( $shortcode_data['content']['container'], cky_allowed_html() ) : ''; if ( '' === $content ) { return $html; } foreach ( $categories as $category ) { $category = new \CookieYes\Lite\Admin\Modules\Cookies\Includes\Cookie_Categories( $category ); if ( false === $category->get_visibility() && false === $this->preview ) { continue; } $audit_table = $this->cky_audit_table( $category->get_cookies() ); $description = $category->get_description( $this->language ); $name = $category->get_name( $this->language ); $shortcode_data = cky_array_search( $this->shortcodes, 'uiTag', 'detail-category-toggle' ); $html .= str_replace( array( '[cky_preference_{{category_slug}}_title]', '[cky_preference_{{category_slug}}_status]', '[cky_preference_{{category_slug}}_description]', '{{category_slug}}', '[cky_audit_table]', ), array( esc_html( $name ), esc_html( $category->get_prior_consent() ), wp_kses_post( $description ), esc_html( $category->get_slug() ), $audit_table, ), $content ); } return do_shortcode( $html ); } /** * Cookie audit table. * * @param array $cookies Cookies array. * @return string */ public function cky_audit_table( $cookies = array() ) { $html = ''; $shortcode_data = cky_array_search( $this->shortcodes, 'uiTag', 'audit-table' ); $config = cky_array_search( $this->properties['config'], 'tag', 'audit-table' ); if ( isset( $config['status'] ) && false === $config['status'] ) { return; } $container = isset( $shortcode_data['content']['container'] ) ? $shortcode_data['content']['container'] : ''; if ( '' === $shortcode_data ) { return $html; } $contents = isset( $this->contents['auditTable']['elements'] ) ? $this->contents['auditTable']['elements'] : ''; if ( empty( $cookies ) ) { $shortcode_data = cky_array_search( $this->shortcodes, 'uiTag', 'audit-table-empty' ); $container = isset( $shortcode_data['content']['container'] ) ? $shortcode_data['content']['container'] : ''; $html = do_shortcode( $container ); return $html; } foreach ( $cookies as $cookie ) { $table_body = ''; $section = $container; $description = $cookie['description']; $duration = $cookie['duration']; $description = isset( $description[ $this->language ] ) ? $description[ $this->language ] : ''; $duration = isset( $duration[ $this->language ] ) ? $duration[ $this->language ] : ''; $table_body .= '
  • '; $table_body .= '
    ' . esc_html( isset( $contents['headers']['elements']['id'] ) ? $contents['headers']['elements']['id'] : '' ) . '
    '; $table_body .= '
    ' . esc_html( $cookie['name'] ) . '
    '; $table_body .= '
  • '; $table_body .= '
  • '; $table_body .= '
    ' . esc_html( isset( $contents['headers']['elements']['duration'] ) ? $contents['headers']['elements']['duration'] : '' ) . '
    '; $table_body .= '
    ' . esc_html( $duration ) . '
    '; $table_body .= '
  • '; $table_body .= '
  • '; $table_body .= '
    ' . esc_html( isset( $contents['headers']['elements']['description'] ) ? $contents['headers']['elements']['description'] : '' ) . '
    '; $table_body .= '
    ' . wp_kses( $description, cky_allowed_html() ) . '
    '; $table_body .= '
  • '; $html .= str_replace( array( '[CONTENT]', ), array( $table_body, ), $section ); } return $html; } /** * Category detail preview. * * @return string */ public function cky_preview_category() { $html = ''; $categories = Category_Controller::get_instance()->get_items(); $shortcode_data = cky_array_search( $this->shortcodes, 'uiTag', 'detail-category-preview' ); $container = isset( $shortcode_data['content']['container'] ) ? $shortcode_data['content']['container'] : ''; foreach ( $categories as $category ) { $object = new \CookieYes\Lite\Admin\Modules\Cookies\Includes\Cookie_Categories( $category ); $name = $object->get_name( $this->language ); $html .= str_replace( array( '[cky_preview_{{category_slug}}_title]', '{{category_slug}}', ), array( $name, $object->get_slug(), ), $container ); } return $html; } /** * Callback for the shortcode [cky_privacy_link] * * @return string */ public function cky_privacy_link() { return isset( $this->contents['notice']['elements']['privacyLink'] ) && '' !== $this->contents['notice']['elements']['privacyLink'] ? esc_url( $this->contents['notice']['elements']['privacyLink'] ) : '#'; } /** * Callback for the shortcode [cky_show_desc] * * @return string */ public function cky_show_desc() { return $this->get_btn_html( 'show-desc-button' ); } /** * Callback for the shortcode [cky_hide_desc] * * @return string */ public function cky_hide_desc() { return $this->get_btn_html( 'hide-desc-button' ); } /** * Callback for the shortcode [cky_showmore_text] * * @return string */ public function cky_showmore_text() { $key = 'ccpa' === $this->law ? 'optoutPopup' : 'preferenceCenter'; return isset( $this->contents[ $key ]['elements']['showMore'] ) ? $this->contents[ $key ]['elements']['showMore'] : ''; } /** * Callback for the shortcode [cky_showless_text] * * @return string */ public function cky_showless_text() { $key = 'ccpa' === $this->law ? 'optoutPopup' : 'preferenceCenter'; return isset( $this->contents[ $key ]['elements']['showLess'] ) ? $this->contents[ $key ]['elements']['showLess'] : ''; } /** * Callback for the shortcode [cky_enable_category_label] * * @return string */ public function cky_enable_category_label() { return isset( $this->contents['preferenceCenter']['elements']['category']['elements']['enable'] ) ? $this->contents['preferenceCenter']['elements']['category']['elements']['enable'] : ''; } /** * Callback for the shortcode [cky_disable_category_label] * * @return string */ public function cky_disable_category_label() { return isset( $this->contents['preferenceCenter']['elements']['category']['elements']['disable'] ) ? $this->contents['preferenceCenter']['elements']['category']['elements']['disable'] : ''; } /** * Callback for the shortcode [cky_audit_table_empty_text] * * @return string */ public function cky_audit_table_empty_text() { return isset( $this->contents['auditTable']['elements']['message'] ) ? $this->contents['auditTable']['elements']['message'] : ''; } /** * Callback for the shortcode [cky_notice_close_label] * * @return string */ public function cky_notice_close_label() { return isset( $this->contents['notice']['elements']['closeButton'] ) ? $this->contents['notice']['elements']['closeButton'] : ''; } /** * Callback for the shortcode [cky_optout_cancel_text] * * @return string */ public function cky_optout_cancel_text() { return isset( $this->contents['optoutPopup']['elements']['buttons']['elements']['cancel'] ) ? $this->contents['optoutPopup']['elements']['buttons']['elements']['cancel'] : ''; } /** * Callback for the shortcode [cky_optout_confirm_text] * * @return string */ public function cky_optout_confirm_text() { return isset( $this->contents['optoutPopup']['elements']['buttons']['elements']['confirm'] ) ? $this->contents['optoutPopup']['elements']['buttons']['elements']['confirm'] : ''; } /** * Callback for the shortcode [cky_optout_confirmation] * * @return string */ public function cky_optout_confirmation() { return isset( $this->contents['optoutPopup']['elements']['confirmation'] ) ? $this->contents['optoutPopup']['elements']['confirmation'] : ''; } /** * Callback for the shortcode [cky_category_toggle_label] * * @return string */ public function cky_category_toggle_label() { $shortcode_data = cky_array_search( $this->shortcodes, 'uiTag', 'detail-category-toggle' ); return isset( $shortcode_data['content']['container'] ) ? $shortcode_data['content']['container'] : ''; } /** * Callback for the shortcode [cky_video_placeholder] * * @return string */ public function cky_video_placeholder() { $shortcode_data = cky_array_search( $this->shortcodes, 'uiTag', 'video-placeholder' ); return do_shortcode( isset( $shortcode_data['content']['container'] ) ? $shortcode_data['content']['container'] : '' ); } /** * Callback for the shortcode [cky_video_placeholder_title] * * @return string */ public function cky_video_placeholder_title() { return isset( $this->contents['videoPlaceholder']['elements']['title'] ) ? $this->contents['videoPlaceholder']['elements']['title'] : ''; } /** * Populate audit table. * * @return string */ public function cky_outside_audit_table() { $html = ''; $shortcode_data = cky_array_search( $this->shortcodes, 'uiTag', 'outside-audit-table' ); $container = isset( $shortcode_data['content']['container'] ) ? $shortcode_data['content']['container'] : ''; $categories = Category_Controller::get_instance()->get_items(); if ( empty( $categories ) ) { return $html; } foreach ( $categories as $category ) { $category = new \CookieYes\Lite\Admin\Modules\Cookies\Includes\Cookie_Categories( $category ); if ( false === $category->get_visibility() ) { continue; } $audit_table = $this->cky_audit_table_by_category( $category ); $name = $category->get_name( $this->language ); $html .= str_replace( array( '[cky_preference_{{category_slug}}_title]', '[CONTENT]', ), array( esc_html( $name ), wp_kses( $audit_table, cky_allowed_html() ), ), $container ); } return do_shortcode( $html ); } /** * Create audit-table for each category. * * @param object $category Category object. * @return string */ public function cky_audit_table_by_category( $category ) { $cookies = $category->get_cookies(); if ( empty( $cookies ) ) { return ''; } $contents = isset( $this->contents['auditTable']['elements'] ) ? $this->contents['auditTable']['elements'] : ''; $html = ''; $table_head = ' ' . esc_html( isset( $contents['headers']['elements']['id'] ) ? $contents['headers']['elements']['id'] : '' ) . ' ' . esc_html( isset( $contents['headers']['elements']['duration'] ) ? $contents['headers']['elements']['duration'] : '' ) . ' ' . esc_html( isset( $contents['headers']['elements']['description'] ) ? $contents['headers']['elements']['description'] : '' ) . ' '; $table_body = ''; foreach ( $cookies as $cookie ) { $description = $cookie['description']; $duration = $cookie['duration']; $description = isset( $description[ $this->language ] ) ? $description[ $this->language ] : ''; $duration = isset( $duration[ $this->language ] ) ? $duration[ $this->language ] : ''; $table_body .= ''; $table_body .= '' . esc_html( $cookie['name'] ) . ''; $table_body .= '' . esc_html( $duration ) . ''; $table_body .= '' . wp_kses( $description, cky_allowed_html() ) . ''; $table_body .= ''; } $table_body .= ''; $html = $table_head . $table_body; return $html; } public function cky_optout_title() { return isset( $this->contents['optoutPopup']['elements']['title'] ) ? $this->contents['optoutPopup']['elements']['title'] : ''; } public function cky_optout_description() { return isset( $this->contents['optoutPopup']['elements']['description'] ) ? $this->contents['optoutPopup']['elements']['description'] : ''; } public function cky_optout_option_title() { return isset( $this->contents['optoutPopup']['elements']['optOption']['elements']['title'] ) ? $this->contents['optoutPopup']['elements']['optOption']['elements']['title'] : ''; } public function cky_optout_gpc_description() { return isset( $this->contents['optoutPopup']['elements']['gpcOption']['elements']['description'] ) ? $this->contents['optoutPopup']['elements']['gpcOption']['elements']['description'] : ''; } public function cky_enable_optout_label() { return isset( $this->contents['optoutPopup']['elements']['optOption']['elements']['enable'] ) ? $this->contents['optoutPopup']['elements']['optOption']['elements']['enable'] : ''; } public function cky_disable_optout_label() { return isset( $this->contents['optoutPopup']['elements']['optOption']['elements']['disable'] ) ? $this->contents['optoutPopup']['elements']['optOption']['elements']['disable'] : ''; } public function cky_optout_toggle_label() { $shortcode_data = cky_array_search( $this->shortcodes, 'uiTag', 'optout-option-toggle' ); return isset( $shortcode_data['content']['container'] ) ? $shortcode_data['content']['container'] : ''; } public function cky_optout_close_label() { return isset( $this->contents['optoutPopup']['elements']['closeButton'] ) ? $this->contents['optoutPopup']['elements']['closeButton'] : ''; } } frontend/images/close.svg000064400000002501150514563140011460 0ustar00 frontend/images/logo.svg000064400000006564150514563140011330 0ustar00 frontend/images/revisit.svg000064400000004443150514563140012047 0ustar00 frontend/images/poweredbtcky.svg000064400000007262150514563140013066 0ustar00 frontend/images/placeholder.svg000064400000001472150514563140012643 0ustar00 frontend/js/script.min.js000064400000042363150514563140011437 0ustar00!function(e){var t={};function n(o){if(t[o])return t[o].exports;var c=t[o]={i:o,l:!1,exports:{}};return e[o].call(c.exports,c,c.exports,n),c.l=!0,c.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var c in e)n.d(o,c,function(t){return e[t]}.bind(null,c));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t){const n=window._ckyConfig,o=window._ckyStyles;n._backupNodes=[],n._resetConsentID=!1,n._bannerState=!1,n._preferenceOriginTag=!1,window.cookieyes=window.cookieyes||{};const c=window.cookieyes;c._ckyConsentStore=new Map,c._ckyGetCookieMap=function(){const e={};try{document.cookie.split(";").map(t=>{const[n,o]=t.split("=");n&&(e[n.trim()]=o)})}catch(e){}return e};const r=c._ckyGetCookieMap();c._ckyGetFromStore=function(e){return c._ckyConsentStore.get(e)||""},c._ckySetInStore=function(e,t){c._ckyConsentStore.set(e,t);let o=[];for(const[e,t]of c._ckyConsentStore)o.push(`${e}:${t}`);const r=n&&n._expiry?n._expiry:365;c._ckySetCookie("cookieyes-consent",o.join(","),r)};const s=(r["cookieyes-consent"]||"").split(",").reduce((e,t)=>{if(!t)return e;const[n,o]=t.split(":");return e[n]=o,e},{});function i(e){const t=document.querySelector("[data-cky-tag="+e+"]");return t||!1}function a(e,t){const n=d(e);n&&n.addEventListener("click",t)}function u(){return l("remove",...arguments)}function l(e,t,n,o=!0){const c=d(t,o);return c&&c.classList[e](n)}function d(e,t){let n=e;switch(!0){case e.startsWith("="):n=`[data-cky-tag="${e.substring(1)}"]`}const o=document.querySelector(n);return!o||t&&!o.parentElement?null:t?o.parentElement:o}function y(){_(),!0===n._bannerConfig.config.revisitConsent.status&&$()}function f(){!function(){if(document.getElementById("cky-style")||!o)return;document.head.insertAdjacentHTML("beforeend",` `)}(),function(){const e=n._tags;Array.prototype.forEach.call(e,(function(e){document.querySelectorAll("[data-cky-tag="+e.tag+"]").forEach((function(t){let n="";for(const t in e.styles)n+=`${t}: ${e.styles[t]};`;t.style.cssText=n}))}))}(),function(){const e=document.getElementById("ckyBannerTemplate").innerHTML,t=(new DOMParser).parseFromString(e,"text/html");(function(e){const t=e.querySelector('[data-cky-tag="detail"] .cky-footer-shadow'),n=e.querySelector('[data-cky-tag="detail"]');if(!t)return;const o=n&&n.style.backgroundColor||"#ffffff";t.style.background=`linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, ${o} 100%)`})(t),document.body.insertAdjacentHTML("afterbegin",t.body.innerHTML),A(),function(){for(const{slug:e}of n._categories)a("detail-category-title",()=>document.getElementById("ckyCategory"+e).classList.toggle("cky-tab-active"));a("=settings-button",()=>T("settings-button")),a("=detail-close",()=>C()),a("=optout-cancel-button",()=>C()),a("=close-button",()=>(c._ckySetInStore("action","yes"),void y())),a("=donotsell-button",()=>T("donotsell-button")),a("=reject-button",x("reject")),a("=accept-button",x("all")),a("=detail-accept-button",x("all")),a("=detail-save-button",x()),a("=detail-category-preview-save-button",x()),a("=optout-confirm-button",x()),a("=detail-reject-button",x("reject")),a("=revisit-consent",()=>_revisitCkyConsent()),a("=optout-close",()=>C()),function(){if(!n._bannerConfig.config.auditTable.status)return;const e=n._categories.map(({slug:e})=>e);e.map(t=>{const n="#ckyDetailCategory"+t;a(n,({target:{id:o}})=>{o!=="ckySwitch"+t&&function(){return l("toggle",...arguments)}(n,"cky-accordion-active",!1)&&e.filter(e=>e!==t).map(e=>u("#ckyDetailCategory"+e,"cky-accordion-active",!1))})})}()}(),function(){const e=n._bannerConfig.config.optOption.toggle,t=e.states.active.styles["background-color"],o=e.states.inactive.styles["background-color"];u("=optout-option","cky-disabled",!1);const r=n._shortCodes.find(e=>"cky_optout_toggle_label"===e.key),s=n._shortCodes.find(e=>"cky_optout_option_title"===e.key),i=r.content.replace("[cky_optout_option_title]",s.content),l="yes"===c._ckyGetFromStore("consent");!function(e,t,{checked:n,disabled:o,addListeners:c},{activeColor:r,inactiveColor:s},i=!1){if(!e)return;i&&c&&a("=optout-option-title",()=>e.click());if(e.checked=n,e.disabled=o,e.style.backgroundColor=n?r:s,N(e,n,t,i),!c)return;e.addEventListener("change",({currentTarget:n})=>{const o=n.checked;n.style.backgroundColor=o?r:s,N(e,o,t,i)})}(document.getElementById("ckyCCPAOptOut"),i,{checked:l,disabled:!1,addListeners:!0},{activeColor:t,inactiveColor:o},!0)}(),function(){const e=n._bannerConfig.config.videoPlaceholder.status,t=n._bannerConfig.config.videoPlaceholder.styles;if(!e)return;if(!e)return;const o=document.querySelectorAll('[data-cky-tag="placeholder-title"]');if(o.length<1)return;Array.from(o).forEach(e=>{e.style.display="block",e.addEventListener("click",()=>{c._ckyGetFromStore("action")&&_revisitCkyConsent()});for(const n in t)t[n]&&(e.style[n]=t[n])})}(),function(){const e=n._shortCodes.find(e=>"cky_readmore"===e.key);if(!e.status)return;const t=e.content,o=n._bannerConfig.config.readMore.styles,c=document.querySelector('[data-cky-tag="description"]');if(!c)return;if(c.childNodes.length>1){const e=document.querySelector('[data-cky-tag="description"] p:last-child');e&&e.insertAdjacentHTML("beforeend"," "+t)}else c.insertAdjacentHTML("beforeend"," "+t);const r=document.querySelectorAll('[data-cky-tag="readmore-button"]');if(r.length<1)return;Array.from(r).forEach(e=>{for(const t in o)o[t]&&(e.style[t]=o[t])})}(),function(){const e=document.getElementById("cky-style-inline");e&&e.remove()}(),function(){const e=i("notice");if(!e)return!1;const t=e.closest(".cky-consent-container");if(!t)return!1;const o=n._bannerConfig.settings.type;let c=n._bannerConfig.settings.position;"popup"===o&&(c="center");const r="cky-"+o+"-"+c;t.classList.add(r);const s=i("revisit-consent");if(!s)return!1;const a="cky-revisit-"+n._bannerConfig.config.revisitConsent.position;s.classList.add(a)}(),function(){if(!n._rtl)return;["notice","detail","optout-popup","revisit-consent","video-placeholder"].forEach((function(e){i(e)&&i(e).classList.add("cky-rtl")}))}(),["detail-powered-by","optout-powered-by"].map(e=>{const t=document.querySelector(`[data-cky-tag="${e}"]`);t&&(t.style.display="flex",t.style.justifyContent="flex-end",t.style.alignItems="center")})}(),function(){const e=k(),t=n._shortCodes.find(e=>"cky_show_desc"===e.key),o=n._shortCodes.find(e=>"cky_hide_desc"===e.key);if(!t||!o)return;const c=o.content,r=t.content,s=window.innerWidth<376?150:300,i=document.querySelector(`[data-cky-tag="${"gdpr"===e?"detail":"optout"}-description"]`);if(i.textContent.length p");if(l.length<=1)return;let d="";for(let e=0;es&&t.insertAdjacentHTML("beforeend","... "+r),d=`${d}${t.outerHTML}`,d.length>s)break}function y(){i.innerHTML=`${u}${c}`,a("=hide-desc-button",f)}function f(){i.innerHTML=d,a("=show-desc-button",y)}f()}(),!c._ckyGetFromStore("action")||function(){let e=new URL(document.location).searchParams;return e.get("cky_preview")&&"true"===e.get("cky_preview")}()?(h(),function(){const e=k();c._ckySetInStore("consent","no");const t=F(),o={accepted:[],rejected:[]};let r="yes";for(const s of n._categories)("gdpr"===e&&!s.isNecessary&&!s.defaultConsent[e]||"ccpa"===e&&t&&!s.defaultConsent.ccpa)&&(r="no"),"no"===r?o.rejected.push(s.slug):o.accepted.push(s.slug),c._ckySetInStore(""+s.slug,r);q()}(),function(){if(c._ckyGetFromStore("consentid"))return;const e=c._ckyRandomString(32);c._ckySetInStore("consentid",e),n._resetConsentID=!0}()):y()}async function g(){try{f(),function(){for(const e of n._categories)"yes"!==c._ckyGetFromStore(e.slug)&&j(e)}(),document.querySelector("body").addEventListener("click",e=>{const t=".cky-banner-element, .cky-banner-element *";(e.target.matches?e.target.matches(t):e.target.msMatchesSelector(t))&&_revisitCkyConsent()})}catch(e){console.error(e)}}var p;function k(){return n._bannerConfig.settings.applicableLaw}function m(){return n._bannerConfig.settings.type}function b(){const e=i("notice"),t=e&&e.closest(".cky-consent-container")||!1;return t&&t||!1}function _(){const e=b();e&&e.classList.add("cky-hide")}function h(){const e=b();e&&e.classList.remove("cky-hide")}function v(){if("classic"===m())return b();let e="ccpa"===k()?i("optout-popup"):i("detail");return e&&e.closest(".cky-modal")||!1}function C(){const e=v();e&&e.classList.remove(L()),"classic"!==m()&&(!function(){const e=document.querySelector(".cky-overlay");e&&e.classList.add("cky-hide")}(),c._ckyGetFromStore("action")||h()),c._ckyGetFromStore("action")&&$();const t=n._preferenceOriginTag;t&&function(e){const t=i(e);if(!t)return;t.focus()}(t)}function S(){const e=v();e&&e.classList.add(L()),"classic"!==m()&&(!function(){const e=document.querySelector(".cky-overlay");e&&e.classList.remove("cky-hide")}(),_())}function w(){const e=v();e&&e.classList.toggle(L()),"classic"!==m()&&function(){const e=document.querySelector(".cky-overlay");e&&e.classList.toggle("cky-hide")}()}function L(){return"classic"===m()?"cky-consent-bar-expand":"cky-modal-open"}function E(){const e=i("revisit-consent");return e&&e||!1}function $(){const e=E();e&&e.classList.remove("cky-revisit-hide")}function T(e=!1){n._preferenceOriginTag=e,"classic"===m()?w():S()}function j({cookies:e}){const t=c._ckyGetCookieMap();for(const{cookieID:n,domain:o}of e)t[n]&&[o,""].map(e=>c._ckySetCookie(n,"",0,e))}function A(e=!1){for(const t of n._categories){const o=c._ckyGetFromStore(t.slug);I(t,"yes"===o||!o&&t.defaultConsent[k()]||t.isNecessary,t.isNecessary,n._shortCodes.find(e=>"cky_category_toggle_label"===e.key).content.replace("[cky_preference_{{category_slug}}_title]",t.name),e),M(t)}}function I(e,t,o,c,r=!1){const s=n._bannerConfig.config.preferenceCenter.toggle,i=s.states.active.styles["background-color"],a=s.states.inactive.styles["background-color"];["ckyCategoryDirect","ckySwitch"].map(s=>{const u=document.getElementById(`${s}${e.slug}`);u&&(!function(e,t={},o=!1){if(o)return;"detail-category-toggle"===e.parentElement.getAttribute("data-cky-tag")?function(e,t){let o=e.closest(".cky-accordion-item");if(!o)return;const c=o.querySelector(".cky-switch"),r=o.querySelector(".cky-always-active");t.isNecessary?c&&c.remove():(r&&r.remove(),("classic"===m()&&n._bannerConfig.config.categoryPreview.status||t.cookies&&0===t.cookies.length)&&c&&c.remove())}(e,t):"detail-category-preview-toggle"===e.parentElement.getAttribute("data-cky-tag")&&function(e,t){t.cookies&&0===t.cookies.length&&!t.isNecessary&&e.parentElement.parentElement.remove()}(e,t)}(u,e,r),u.checked=t,u.disabled=o,u.style.backgroundColor=t?i:a,N(u,t,c),r||u.addEventListener("change",({currentTarget:e})=>{const t=e.checked;e.style.backgroundColor=t?i:a,N(u,t,c)}))})}function M(e){if(!1===n._bannerConfig.config.auditTable.status){const t=document.querySelector(`#ckyDetailCategory${e.slug} [data-cky-tag="audit-table"]`);t&&t.remove();const n=document.querySelector(`#ckyDetailCategory${e.slug} .cky-accordion-chevron`);n&&n.classList.add("cky-accordion-chevron-hide")}}function N(e,t,o,c=!1){if(!e)return;const r=t?"disable":"enable",s=`cky_${r}_${c?"optout":"category"}_label`,i=n._shortCodes.find(e=>e.key===s);if(!i)return;const a=o.replace(/{{status}}/g,r).replace(`[${s}]`,i.content);e.setAttribute("aria-label",a)}function x(e="custom"){return()=>{!function(e="all"){const t=k(),o=F();c._ckySetInStore("action","yes"),"gdpr"===t?c._ckySetInStore("consent","reject"===e?"no":"yes"):c._ckySetInStore("consent",o?"yes":"no");const r={accepted:[],rejected:[]};for(const s of n._categories){let n="no";n="gdpr"===t?s.isNecessary||"reject"!==e&&("custom"!==e||F(s.slug))?"yes":"no":o&&!s.defaultConsent.ccpa?"no":"yes",c._ckySetInStore(""+s.slug,n),"no"===n?(r.rejected.push(s.slug),j(s)):r.accepted.push(s.slug)}q()}(e),y(),C(),function(){"gdpr"===k()&&A(!0);!0===n._bannerConfig.behaviours.reloadBannerOnAccept&&window.location.reload()}()}}["consentid","consent","action"].concat(n._categories.map(({slug:e})=>e)).map(e=>c._ckyConsentStore.set(e,s[e]||"")),c._ckyGetCookie=function(e){const t=new RegExp(e+"=([^;]+)").exec(document.cookie);return t&&Array.isArray(t)&&t[1]?unescape(t[1]):null},c._ckySetCookie=function(e,t,o=0,c=n._rootDomain){const r=new Date;c&&(c="domain="+c);const s=0===o?0:r.setTime(r.getTime()+24*o*60*60*1e3);document.cookie=`${e}=${t}; expires=${new Date(s).toUTCString()}; path=/;${c}; SameSite=Strict;`},_revisitCkyConsent=function(){"classic"===m()&&h(),T(),function(e=!1){const t=E();t&&(!0===e?_ckyRevisitHide():t.classList.toggle("cky-revisit-hide"))}()},c._ckyRandomString=function(e,t=!0){const n=(t?"0123456789":"")+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghiklmnopqrstuvwxyz",o=[];for(let t=0;t{try{if(H(t.src))return!0;if("script"===t.nodeName.toLowerCase()){const n=document.createElement("script");n.src=t.src,n.type="text/javascript",document[e].appendChild(n)}else{const e=document.getElementById(n);if(!e)return!1;const o=document.createElement("iframe");o.src=t.src,o.width=e.offsetWidth,o.height=e.offsetHeight,e.parentNode.insertBefore(o,e),e.parentNode.removeChild(e)}return!1}catch(e){return console.error(e),!1}}))}function D(e,t){const o=e.hasAttribute("data-cookieyes")&&e.getAttribute("data-cookieyes");if(!o)return;const c=o.replace("cookieyes-","");for(const e of n._categories)if(e.isNecessary&&e.slug===c)return;const r=n._providersToBlock.find(({re:e})=>e===t);r?r.isOverriden?r.categories.includes(c)||r.categories.push(c):(r.categories=[c],r.isOverriden=!0):n._providersToBlock.push({re:t,categories:[c],fullPath:!1})}document.createElement=(...e)=>{const t=O.call(document,...e);if("script"!==t.nodeName.toLowerCase())return t;const n=t.setAttribute.bind(t);return Object.defineProperties(t,{src:{get:function(){return t.getAttribute("src")},set:function(e){return G(t,e)&&n("type","javascript/blocked"),n("src",e),!0}},type:{get:function(){return t.getAttribute("type")},set:function(e){return e=G(t)?"javascript/blocked":e,n("type",e),!0}}}),t.setAttribute=(e,o)=>{if("type"===e||"src"===e)return t[e]=o;n(e,o),"data-cookieyes"!==e||G(t)||n("type","text/javascript")},t};const P=new MutationObserver((function(e){for(const{addedNodes:t}of e)for(const e of t)if(e.src&&e.nodeName&&["script","iframe"].includes(e.nodeName.toLowerCase()))try{const t=e.src.startsWith("//")?`${window.location.protocol}${e.src}`:e.src,{hostname:o,pathname:r}=new URL(t),s=`${o}${r}`.replace(/^www./,"");if(D(e,s),!H(s))continue;const i=c._ckyRandomString(8,!1);if("iframe"===e.nodeName.toLowerCase())R(e,i);else{e.type="javascript/blocked";const t=function(n){n.preventDefault(),e.removeEventListener("beforescriptexecute",t)};e.addEventListener("beforescriptexecute",t)}const a=document.head.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY?"head":"body";e.remove(),n._backupNodes.push({position:a,node:e.cloneNode(),uniqueID:i})}catch(e){}}));function B(e){const t=c._ckyGetFromStore(e);return"no"===t||!t&&n._categories.some(t=>t.slug===e&&!t.isNecessary)}function H(e){const t=n._providersToBlock.find(({re:t})=>{return new RegExp((n=t,n.replace(/[.*+?^${}()[\]\\]/g,"\\$&"))).test(e);var n});return t&&t.categories.some(e=>B(e))}function G(e,t){return e.hasAttribute("data-cookieyes")&&B(e.getAttribute("data-cookieyes").replace("cookieyes-",""))||H(t||e.src)}function F(e=""){return(e?["ckySwitch","ckyCategoryDirect"]:["ckyCCPAOptOut"]).some(t=>{const n=document.getElementById(`${t}${e}`);return n&&n.checked})}function R(e,t){const o=n._shortCodes.find(e=>"cky_video_placeholder"===e.key).content,{offsetWidth:c,offsetHeight:r}=e;if(0===c||0===r)return;e.insertAdjacentHTML("beforebegin",(""+o).replace("[UNIQUEID]",t));const s=document.getElementById(t);s.style.width=c+"px",s.style.height=r+"px";const i=document.querySelector(`#${t} .video-placeholder-text-normal`);i.style.display="none";const a=function(e){const t=e.match(/^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/);return!!(t&&Array.isArray(t)&&t[2]&&11===t[2].length)&&t[2]}(e.src);a&&(s.classList.replace("video-placeholder-normal","video-placeholder-youtube"),s.style.backgroundImage=`linear-gradient(rgba(76,72,72,.7),rgba(76,72,72,.7)),url('https://img.youtube.com/vi/${a}/maxresdefault.jpg')`,i.classList.replace("video-placeholder-text-normal","video-placeholder-text-youtube"))}P.observe(document.documentElement,{childList:!0,subtree:!0}),window.revisitCkyConsent=()=>_revisitCkyConsent()}]);frontend/js/script.js000064400000117713150514563140010657 0ustar00/** * WordPress localize object mapped to a constant. */ const _ckyStore = window._ckyConfig; const _ckyStyle = window._ckyStyles; _ckyStore._backupNodes = []; _ckyStore._resetConsentID = false; _ckyStore._bannerState = false; _ckyStore._preferenceOriginTag = false; window.cookieyes = window.cookieyes || {}; const ref = window.cookieyes; ref._ckyConsentStore = new Map(); ref._ckyGetCookieMap = function () { const cookieMap = {}; try { document.cookie.split(";").map((cookie) => { const [key, value] = cookie.split("="); if (!key) return; cookieMap[key.trim()] = value; }); } catch (error) { } return cookieMap; }; const currentCookieMap = ref._ckyGetCookieMap(); ref._ckyGetFromStore = function (key) { return ref._ckyConsentStore.get(key) || ""; }; ref._ckySetInStore = function (key, value) { ref._ckyConsentStore.set(key, value); let cookieStringArray = []; for (const [key, value] of ref._ckyConsentStore) { cookieStringArray.push(`${key}:${value}`); } const scriptExpiry = _ckyStore && _ckyStore._expiry ? _ckyStore._expiry : 365; ref._ckySetCookie( "cookieyes-consent", cookieStringArray.join(","), scriptExpiry ); }; const cookieyesConsentMap = (currentCookieMap["cookieyes-consent"] || "") .split(",") .reduce((prev, curr) => { if (!curr) return prev; const [key, value] = curr.split(":"); prev[key] = value; return prev; }, {}); ["consentid", "consent", "action"] .concat(_ckyStore._categories.map(({ slug }) => slug)) .map((item) => ref._ckyConsentStore.set(item, cookieyesConsentMap[item] || "") ); /** * Get the value of cookie by it's name. * * @param {string} name Name of the cookie * @returns {string} */ ref._ckyGetCookie = function (name) { const value = new RegExp(`${name}=([^;]+)`).exec(document.cookie); return value && Array.isArray(value) && value[1] ? unescape(value[1]) : null; } /** * Set a cookie on document.cookie object. * * @param {*} name Name of the cookie. * @param {*} value Value to be set. * @param {*} days Expiry in days. * @param {*} domain Cookie domain. */ ref._ckySetCookie = function (name, value, days = 0, domain = _ckyStore._rootDomain) { const date = new Date(); if (!!domain) { domain = `domain=${domain}`; } const toSetTime = days === 0 ? 0 : date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000); document.cookie = `${name}=${value}; expires=${new Date( toSetTime ).toUTCString()}; path=/;${domain}; SameSite=Strict;`; } function _ckySetConsentID() { const cookieyesID = ref._ckyGetFromStore("consentid"); if (cookieyesID) return; const consentID = ref._ckyRandomString(32); ref._ckySetInStore("consentid", consentID); _ckyStore._resetConsentID = true; } _revisitCkyConsent = function () { const type = _ckyGetType(); if (type === 'classic') { _ckyShowBanner(); } _ckySetPreferenceAction(); _ckyToggleRevisit(); }; /** * Search an element by it's data-cky-tag attribute * * @param {string} tag data-cky-tag of an element. * @returns {object} */ function _ckyGetElementByTag(tag) { const item = document.querySelector('[data-cky-tag=' + tag + ']'); return item ? item : false; } function _ckyEscapeRegex(literal) { return literal.replace(/[.*+?^${}()[\]\\]/g, "\\$&"); } /** * Bind click event to banner elements. * * @param {string} tag data-cky-tag of the element * @param {function} fn callback function */ function _ckyAttachListener(selector, fn) { const item = _ckyFindElement(selector); item && item.addEventListener("click", fn); } function _ckyClassRemove() { return _ckyClassAction("remove", ...arguments); } function _ckyClassToggle() { return _ckyClassAction("toggle", ...arguments); } function _ckyClassAction(action, selector, className, forParent = true) { const item = _ckyFindElement(selector, forParent); return item && item.classList[action](className); } function _ckyFindElement(selector, forParent) { let createdSelector = selector; switch (true) { case selector.startsWith("="): createdSelector = `[data-cky-tag="${selector.substring(1)}"]`; default: break; } const element = document.querySelector(createdSelector); if (!element || (forParent && !element.parentElement)) return null; return forParent ? element.parentElement : element; } /** * Remove an element from the DOM. * * @param {string} tag data-cky-tag of the element. */ function _ckyRemoveElement(tag) { const item = _ckyGetElementByTag(tag); item && item.remove(); } /** * Remove styles by it's id. */ function _ckyRemoveStyles() { const item = document.getElementById('cky-style-inline'); item && item.remove(); } /** * Generate a random string for logging purposes. * * @param {integer} length Length of the string to be generated. * @returns */ ref._ckyRandomString = function (length, allChars = true) { const chars = `${allChars ? `0123456789` : "" }ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghiklmnopqrstuvwxyz`; const response = []; for (let i = 0; i < length; i++) response.push(chars[Math.floor(Math.random() * chars.length)]); if (!allChars) return response.join(""); return btoa(response.join("")).replace(/\=+$/, ""); } /** * Remove banner if necessary. */ function _ckyRemoveBanner() { _ckyHideBanner(); if (_ckyStore._bannerConfig.config.revisitConsent.status === true) { _ckyShowRevisit(); } } /** * Initialize the plugin front-end operations. * * @returns {boolean} */ function _ckyInitOperations() { _ckyAttachNoticeStyles(); _ckyAttachShortCodeStyles(); _ckyRenderBanner(); _ckySetShowMoreLess(); if (!ref._ckyGetFromStore("action") || _ckyPreviewEnabled()) { _ckyShowBanner(); _ckySetInitialState(); _ckySetConsentID(); } else { _ckyRemoveBanner(); } } function _ckyPreviewEnabled() { let params = (new URL(document.location)).searchParams; return params.get("cky_preview") && params.get("cky_preview") === 'true'; } /** * Sets the initial state of the plugin. */ function _ckySetInitialState() { const activeLaw = _ckyGetLaw() ref._ckySetInStore("consent", "no"); const ccpaCheckBoxValue = _ckyFindCheckBoxValue(); const responseCategories = { accepted: [], rejected: [] }; let valueToSet = "yes"; for (const category of _ckyStore._categories) { if ( (activeLaw === "gdpr" && !category.isNecessary && !category.defaultConsent[activeLaw]) || (activeLaw === "ccpa" && ccpaCheckBoxValue && !category.defaultConsent.ccpa) ) { valueToSet = "no"; } if (valueToSet === "no") responseCategories.rejected.push(category.slug); else responseCategories.accepted.push(category.slug); ref._ckySetInStore(`${category.slug}`, valueToSet); } _ckyUnblock(); } /** * Add a class based on the banner type and position. Eg: 'cky-banner-top' * * @returns {boolean} */ function _ckyAddPositionClass() { const notice = _ckyGetElementByTag('notice'); if (!notice) return false; const container = notice.closest('.cky-consent-container'); if (!container) return false; const type = _ckyStore._bannerConfig.settings.type; let position = _ckyStore._bannerConfig.settings.position; if (type === 'popup') { position = 'center'; } const noticeClass = 'cky' + '-' + type + '-' + position; container.classList.add(noticeClass); const revisitConsent = _ckyGetElementByTag('revisit-consent'); if (!revisitConsent) return false; const revisitPosition = 'cky-revisit-' + _ckyStore._bannerConfig.config.revisitConsent.position; revisitConsent.classList.add(revisitPosition); } /** * Initialize the plugin operations. */ async function _ckyInit() { try { _ckyInitOperations(); _ckyRemoveAllDeadCookies(); _ckyWatchBannerElement(); } catch (err) { console.error(err); } } /** * Domready event, alternative to jQuery(document).ready() function * * @param {function} callback * @returns */ function _ckyDomReady(callback) { if (typeof document === 'undefined') { return; } if (document.readyState === 'complete' || /** DOMContentLoaded + Images/Styles/etc loaded, so we call directly. */ document.readyState === 'interactive' /** DOMContentLoaded fires at this point, so we call directly. */ ) { return void callback(); } /** DOMContentLoaded has not fired yet, delay callback until then. */ document.addEventListener('DOMContentLoaded', callback); } /** * Callback function to Domready event. */ _ckyDomReady(async function () { try { await _ckyInit(); } catch (err) { console.error(err); } }); /** * Register event handler for all the action elements. */ function _ckyRegisterListeners() { for (const { slug } of _ckyStore._categories) { _ckyAttachListener('detail-category-title', () => document .getElementById(`ckyCategory${slug}`) .classList.toggle("cky-tab-active") ); } _ckyAttachListener("=settings-button", () => _ckySetPreferenceAction('settings-button')); _ckyAttachListener("=detail-close", () => _ckyHidePreferenceCenter()); _ckyAttachListener("=optout-cancel-button", () => _ckyHidePreferenceCenter()); _ckyAttachListener("=close-button", () => _ckyActionClose()); _ckyAttachListener("=donotsell-button", () => _ckySetPreferenceAction('donotsell-button')); _ckyAttachListener("=reject-button", _ckyAcceptReject("reject")); _ckyAttachListener("=accept-button", _ckyAcceptReject("all")); _ckyAttachListener("=detail-accept-button", _ckyAcceptReject("all")); _ckyAttachListener("=detail-save-button", _ckyAcceptReject()); _ckyAttachListener("=detail-category-preview-save-button", _ckyAcceptReject()); _ckyAttachListener("=optout-confirm-button", _ckyAcceptReject()); _ckyAttachListener("=detail-reject-button", _ckyAcceptReject("reject")); _ckyAttachListener("=revisit-consent", () => _revisitCkyConsent()); _ckyAttachListener("=optout-close", () => _ckyHidePreferenceCenter()); _ckyAttachCategoryListeners(); } function _ckyAttachCategoryListeners() { if (!_ckyStore._bannerConfig.config.auditTable.status) return; const categoryNames = _ckyStore._categories.map(({ slug }) => slug); categoryNames.map((category) => { const selector = `#ckyDetailCategory${category}`; _ckyAttachListener(selector, ({ target: { id } }) => { if ( id === `ckySwitch${category}` || !_ckyClassToggle(selector, "cky-accordion-active", false) ) return; categoryNames .filter((categoryName) => categoryName !== category) .map((filteredName) => _ckyClassRemove( `#ckyDetailCategory${filteredName}`, "cky-accordion-active", false ) ); }); }); } /** * Add support for accordion tabs on the privacy overview screen. */ function _ckyInitiAccordionTabs() { document.querySelectorAll(".cky-accordion").forEach((item) => ( item.addEventListener('click', function (event) { if (event.target.type === 'checkbox') return; this.classList.toggle('cky-accordion-active'); }) )); } function _ckyToggleBanner(force = false) { const notice = _ckyGetElementByTag('notice'); const container = notice && notice.closest('.cky-consent-container') || false; if (container) { force === true ? container.classList.add('cky-hide') : container.classList.toggle('cky-hide'); } } function _ckyToggleRevisit(force = false) { const revisit = _ckyGetRevisit(); if (revisit) { force === true ? _ckyRevisitHide() : revisit.classList.toggle('cky-revisit-hide'); } } function _ckyGetLaw() { return _ckyStore._bannerConfig.settings.applicableLaw; } function _ckyGetType() { return _ckyStore._bannerConfig.settings.type; } function _ckyGetBanner() { const notice = _ckyGetElementByTag('notice'); const container = notice && notice.closest('.cky-consent-container') || false; return container && container || false; } function _ckyHideBanner() { const notice = _ckyGetBanner(); notice && notice.classList.add('cky-hide'); } function _ckyShowBanner() { const notice = _ckyGetBanner(); notice && notice.classList.remove('cky-hide'); } function _ckyHideOverLay() { const overlay = document.querySelector('.cky-overlay'); overlay && overlay.classList.add('cky-hide'); } function _ckyShowOverLay() { const overlay = document.querySelector('.cky-overlay'); overlay && overlay.classList.remove('cky-hide'); } function _ckyToggleOverLay() { const overlay = document.querySelector('.cky-overlay'); overlay && overlay.classList.toggle('cky-hide'); } function _ckyGetPreferenceCenter() { if (_ckyGetType() === 'classic') { return _ckyGetBanner(); } let element = _ckyGetLaw() === 'ccpa' ? _ckyGetElementByTag("optout-popup") : _ckyGetElementByTag("detail"); return element && element.closest('.cky-modal') || false; } function _ckyHidePreferenceCenter() { const element = _ckyGetPreferenceCenter(); element && element.classList.remove(_ckyGetPreferenceClass()); if (_ckyGetType() !== 'classic') { _ckyHideOverLay(); if (!ref._ckyGetFromStore("action")) _ckyShowBanner(); } if (ref._ckyGetFromStore("action")) _ckyShowRevisit(); const origin = _ckyStore._preferenceOriginTag; origin && _ckySetFocus(origin) } function _ckyShowPreferenceCenter() { const element = _ckyGetPreferenceCenter(); element && element.classList.add(_ckyGetPreferenceClass()); if (_ckyGetType() !== 'classic') { _ckyShowOverLay(); _ckyHideBanner(); } } function _ckyTogglePreferenceCenter() { const element = _ckyGetPreferenceCenter(); element && element.classList.toggle(_ckyGetPreferenceClass()); if (_ckyGetType() !== 'classic') _ckyToggleOverLay(); } function _ckyGetPreferenceClass() { return _ckyGetType() === 'classic' ? 'cky-consent-bar-expand' : 'cky-modal-open'; } function _ckyGetRevisit() { const revisit = _ckyGetElementByTag('revisit-consent'); return revisit && revisit || false; } function _ckyHideRevisit() { const revisit = _ckyGetRevisit(); revisit && revisit.classList.add('cky-revisit-hide') } function _ckyShowRevisit() { const revisit = _ckyGetRevisit(); revisit && revisit.classList.remove('cky-revisit-hide') } function _ckySetPreferenceAction(tagName = false) { _ckyStore._preferenceOriginTag = tagName; if (_ckyGetType() === 'classic') { _ckyTogglePreferenceCenter(); } else { _ckyShowPreferenceCenter(); } } /** * Replace footer shadow with current preference center background. * * @param {object} $doc Dom node. * @returns */ function _ckySetFooterShadow($doc) { const footer = $doc.querySelector('[data-cky-tag="detail"] .cky-footer-shadow'); const preference = $doc.querySelector('[data-cky-tag="detail"]'); if (!footer) return; const background = preference && preference.style.backgroundColor || '#ffffff'; footer.style.background = `linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, ${background } 100%)`; } /** * Remove all the rejected cookies. * * @param {object} cookies Cookies list. */ function _ckyRemoveDeadCookies({ cookies }) { const currentCookieMap = ref._ckyGetCookieMap(); for (const { cookieID, domain } of cookies) if (currentCookieMap[cookieID]) [domain, ""].map((cookieDomain) => ref._ckySetCookie(cookieID, "", 0, cookieDomain) ); } function _ckySetPreferenceCheckBoxStates(revisit = false) { for (const category of _ckyStore._categories) { const cookieValue = ref._ckyGetFromStore(category.slug); const checked = cookieValue === "yes" || (!cookieValue && category.defaultConsent[_ckyGetLaw()]) || category.isNecessary; const disabled = category.isNecessary; const shortCodeData = _ckyStore._shortCodes.find( (code) => code.key === 'cky_category_toggle_label' ); const toggleTextFormatted = shortCodeData.content.replace( `[cky_preference_{{category_slug}}_title]`, category.name ); _ckySetCheckboxes( category, checked, disabled, toggleTextFormatted, revisit ); _ckySetPreferenceState(category); } } function _ckySetCheckboxes( category, checked, disabled, formattedLabel, revisit = false ) { const toggle = _ckyStore._bannerConfig.config.preferenceCenter.toggle; const activeColor = toggle.states.active.styles['background-color']; const inactiveColor = toggle.states.inactive.styles['background-color']; [`ckyCategoryDirect`, `ckySwitch`].map((key) => { const boxElem = document.getElementById(`${key}${category.slug}`); if (!boxElem) return; _ckySetCategoryToggle( boxElem, category, revisit); boxElem.checked = checked; boxElem.disabled = disabled; boxElem.style.backgroundColor = checked ? activeColor : inactiveColor; _ckySetCheckBoxAriaLabel(boxElem, checked, formattedLabel); if (revisit) return; boxElem.addEventListener("change", ({ currentTarget: elem }) => { const isChecked = elem.checked; elem.style.backgroundColor = isChecked ? activeColor : inactiveColor; _ckySetCheckBoxAriaLabel(boxElem, isChecked, formattedLabel); }); }); } function _ckySetCategoryToggle(element, category = {}, revisit = false) { if (revisit) return; if (element.parentElement.getAttribute('data-cky-tag') === 'detail-category-toggle') { _ckySetCategoryPreferenceToggle(element, category); } else if (element.parentElement.getAttribute('data-cky-tag') === 'detail-category-preview-toggle') { _ckySetCategoryPreview(element, category); } } function _ckySetCategoryPreferenceToggle(element, category) { let toggleContainer = element.closest('.cky-accordion-item'); if (!toggleContainer) return; const toggleSwitch = toggleContainer.querySelector('.cky-switch'); const necessaryText = toggleContainer.querySelector('.cky-always-active'); if (category.isNecessary) { toggleSwitch && toggleSwitch.remove(); } else { necessaryText && necessaryText.remove(); if (_ckyGetType() === 'classic' && _ckyStore._bannerConfig.config.categoryPreview.status || (category.cookies && category.cookies.length === 0)) { toggleSwitch && toggleSwitch.remove(); } } } function _ckySetPreferenceState(category) { if (_ckyStore._bannerConfig.config.auditTable.status === false) { const tableElement = document.querySelector( `#ckyDetailCategory${category.slug} [data-cky-tag="audit-table"]` ); tableElement && tableElement.remove(); const chevronElement = document.querySelector( `#ckyDetailCategory${category.slug} .cky-accordion-chevron` ); chevronElement && chevronElement.classList.add("cky-accordion-chevron-hide"); } } function _ckySetCategoryPreview(element, category) { if ((category.cookies && category.cookies.length === 0) && !category.isNecessary) element.parentElement.parentElement.remove(); } function _ckySetCheckBoxAriaLabel(boxElem, isChecked, formattedLabel, isCCPA = false) { if (!boxElem) return; const keyName = isChecked ? "disable" : "enable"; const textCode = `cky_${keyName}_${isCCPA ? "optout" : "category"}_label`; const shortCodeData = _ckyStore._shortCodes.find( (code) => code.key === textCode ); if (!shortCodeData) return; const labelText = formattedLabel .replace(/{{status}}/g, keyName) .replace(`[${textCode}]`, shortCodeData.content); boxElem.setAttribute("aria-label", labelText); } /** * Render banner after processing. */ function _ckyRenderBanner() { const template = document.getElementById('ckyBannerTemplate'); const templateHtml = template.innerHTML; const doc = new DOMParser().parseFromString(templateHtml, 'text/html'); _ckySetFooterShadow(doc); document.body.insertAdjacentHTML( "afterbegin", doc.body.innerHTML ); _ckySetPreferenceCheckBoxStates(); _ckyRegisterListeners(); _ckySetCCPAOptions(); _ckySetPlaceHolder(); _ckyAttachReadMore(); _ckyRemoveStyles(); _ckyAddPositionClass(); _ckyAddRtlClass(); _ckySetPoweredBy() } /** * Accept or reject the consent based on the option. * * @param {string} option Type of consent. * @returns {void} */ function _ckyAcceptReject(option = "custom") { return () => { _ckyAcceptCookies(option); _ckyRemoveBanner(); _ckyHidePreferenceCenter(); _ckyAfterConsent(); }; } function _ckyActionClose() { ref._ckySetInStore("action", "yes"); _ckyRemoveBanner(); } /** * Consent accept callback. * * @param {string} choice Type of consent. */ function _ckyAcceptCookies(choice = "all") { const activeLaw = _ckyGetLaw(); const ccpaCheckBoxValue = _ckyFindCheckBoxValue(); ref._ckySetInStore("action", "yes"); if (activeLaw === 'gdpr') { ref._ckySetInStore("consent", choice === "reject" ? "no" : "yes"); } else { ref._ckySetInStore("consent", ccpaCheckBoxValue ? "yes" : "no"); } const responseCategories = { accepted: [], rejected: [] }; for (const category of _ckyStore._categories) { let valueToSet = "no"; if (activeLaw === 'gdpr') { valueToSet = !category.isNecessary && (choice === "reject" || (choice === "custom" && !_ckyFindCheckBoxValue(category.slug))) ? "no" : "yes"; } else { valueToSet = ccpaCheckBoxValue && !category.defaultConsent.ccpa ? "no" : "yes"; } ref._ckySetInStore(`${category.slug}`, valueToSet); if (valueToSet === "no") { responseCategories.rejected.push(category.slug); _ckyRemoveDeadCookies(category); } else responseCategories.accepted.push(category.slug); } _ckyUnblock(); } function _ckySetShowMoreLess() { const activeLaw = _ckyGetLaw(); const showCode = _ckyStore._shortCodes.find( (code) => code.key === "cky_show_desc" ); const hideCode = _ckyStore._shortCodes.find( (code) => code.key === "cky_hide_desc" ); if (!showCode || !hideCode) return; const hideButtonContent = hideCode.content; const showButtonContent = showCode.content; const contentLimit = window.innerWidth < 376 ? 150 : 300; const element = document.querySelector( `[data-cky-tag="${activeLaw === "gdpr" ? "detail" : "optout"}-description"]` ); const content = element.textContent; if (content.length < contentLimit) return; const contentHTML = element.innerHTML; const htmlDoc = new DOMParser().parseFromString(contentHTML, "text/html"); const innerElements = htmlDoc.querySelectorAll("body > p"); if (innerElements.length <= 1) return; let strippedContent = ``; for (let index = 0; index < innerElements.length; index++) { if (index === innerElements.length - 1) return; const element = innerElements[index]; if (`${strippedContent}${element.outerHTML}`.length > contentLimit) element.insertAdjacentHTML("beforeend", `... ${showButtonContent}`); strippedContent = `${strippedContent}${element.outerHTML}`; if (strippedContent.length > contentLimit) break; } function showMoreHandler() { element.innerHTML = `${contentHTML}${hideButtonContent}`; _ckyAttachListener("=hide-desc-button", showLessHandler); } function showLessHandler() { element.innerHTML = strippedContent; _ckyAttachListener("=show-desc-button", showMoreHandler); } showLessHandler(); } /** * Toggle show more or less on click event. * * @param {object} object Object containing toggle buttons and texts. * @param {*} element Target element. */ function _ckyToggleMoreLess(object, element) { let { currentTarget, target } = element; if (target && target.tagName.toUpperCase() !== 'BUTTON') return; const ariaExpanded = currentTarget.getAttribute('aria-expanded'); const trimmed = ariaExpanded === 'false'; let btn = object.btnTrim; let text = object.originalText; if (!trimmed) { btn = object.btnExpand; text = object.truncatedText; } currentTarget.innerHTML = `${text}${btn}`; currentTarget.ariaExpanded = trimmed; } /** * Add styles to the shortcode HTML rendered outside of the banner. * * @returns {void} */ function _ckyAttachShortCodeStyles() { const shortCodes = _ckyStore._tags; Array.prototype.forEach.call(shortCodes, function (shortcode) { document.querySelectorAll('[data-cky-tag=' + shortcode.tag + ']').forEach(function (item) { let styles = ''; for (const key in shortcode.styles) { styles += `${key}: ${shortcode.styles[key]};`; } item.style.cssText = styles; }); }); } /** Script blocker Version 2 */ const _ckyCreateElementBackup = document.createElement; document.createElement = (...args) => { const createdElement = _ckyCreateElementBackup.call(document, ...args); if (createdElement.nodeName.toLowerCase() !== "script") return createdElement; const originalSetAttribute = createdElement.setAttribute.bind(createdElement); Object.defineProperties(createdElement, { src: { get: function () { return createdElement.getAttribute("src"); }, set: function (value) { if (_ckyShouldChangeType(createdElement, value)) originalSetAttribute("type", "javascript/blocked"); originalSetAttribute("src", value); return true; }, }, type: { get: function () { return createdElement.getAttribute("type"); }, set: function (value) { value = _ckyShouldChangeType(createdElement) ? "javascript/blocked" : value; originalSetAttribute("type", value); return true; }, }, }); createdElement.setAttribute = (name, value) => { if (name === "type" || name === "src") return (createdElement[name] = value); originalSetAttribute(name, value); if (name === "data-cookieyes" && !_ckyShouldChangeType(createdElement)) originalSetAttribute("type", "text/javascript"); }; return createdElement; }; function _ckyMutationObserver(mutations) { for (const { addedNodes } of mutations) { for (const node of addedNodes) { if ( !node.src || !node.nodeName || !["script", "iframe"].includes(node.nodeName.toLowerCase()) ) continue; try { const urlToParse = node.src.startsWith("//") ? `${window.location.protocol}${node.src}` : node.src; const { hostname, pathname } = new URL(urlToParse); const cleanedHostname = _ckyCleanHostName(`${hostname}${pathname}`); _ckyAddProviderToList(node, cleanedHostname); if (!_ckyShouldBlockProvider(cleanedHostname)) continue; const uniqueID = ref._ckyRandomString(8, false); if (node.nodeName.toLowerCase() === "iframe") _ckyAddPlaceholder(node, uniqueID); else { node.type = "javascript/blocked"; const scriptEventListener = function (event) { event.preventDefault(); node.removeEventListener( "beforescriptexecute", scriptEventListener ); }; node.addEventListener("beforescriptexecute", scriptEventListener); } const position = document.head.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY ? "head" : "body"; node.remove(); _ckyStore._backupNodes.push({ position: position, node: node.cloneNode(), uniqueID, }); } catch (error) { } } } } function _ckyUnblock() { if (navigator.doNotTrack === 1) return; const ckyconsent = ref._ckyGetFromStore("consent"); if ( _ckyGetLaw() === "gdpr" && (!ckyconsent || ckyconsent !== "yes") ) return; _ckyStore._backupNodes = _ckyStore._backupNodes.filter( ({ position, node, uniqueID }) => { try { if (_ckyShouldBlockProvider(node.src)) return true; if (node.nodeName.toLowerCase() === "script") { const scriptNode = document.createElement("script"); scriptNode.src = node.src; scriptNode.type = "text/javascript"; document[position].appendChild(scriptNode); } else { const frame = document.getElementById(uniqueID); if (!frame) return false; const iframe = document.createElement("iframe"); iframe.src = node.src; iframe.width = frame.offsetWidth; iframe.height = frame.offsetHeight; frame.parentNode.insertBefore(iframe, frame); frame.parentNode.removeChild(frame); } return false; } catch (error) { console.error(error); return false; } } ); } function _ckyClearListeners() { _nodeListObserver.disconnect(); document.createElement = _ckyCreateElementBackup; } function _ckyAddProviderToList(node, cleanedHostname) { const nodeCategory = node.hasAttribute("data-cookieyes") && node.getAttribute("data-cookieyes"); if (!nodeCategory) return; const categoryName = nodeCategory.replace("cookieyes-", ""); for (const category of _ckyStore._categories) if (category.isNecessary && category.slug === categoryName) return; const provider = _ckyStore._providersToBlock.find( ({ re }) => re === cleanedHostname ); if (!provider) _ckyStore._providersToBlock.push({ re: cleanedHostname, categories: [categoryName], fullPath: false, }); else if (!provider.isOverriden) { provider.categories = [categoryName]; provider.isOverriden = true; } else if (!provider.categories.includes(categoryName)) provider.categories.push(categoryName); } const _nodeListObserver = new MutationObserver(_ckyMutationObserver); _nodeListObserver.observe(document.documentElement, { childList: true, subtree: true, }); function _ckyCleanHostName(name) { return name.replace(/^www./, ""); } function _ckyIsCategoryToBeBlocked(category) { const cookieValue = ref._ckyGetFromStore(category); return ( cookieValue === "no" || (!cookieValue && _ckyStore._categories.some( (cat) => cat.slug === category && !cat.isNecessary )) ); } function _ckyShouldBlockProvider(formattedRE) { const provider = _ckyStore._providersToBlock.find(({ re }) => new RegExp(_ckyEscapeRegex(re)).test(formattedRE) ); return ( provider && provider.categories.some((category) => _ckyIsCategoryToBeBlocked(category)) ); } function _ckyShouldChangeType(element, src) { return ( (element.hasAttribute("data-cookieyes") && _ckyIsCategoryToBeBlocked( element.getAttribute("data-cookieyes").replace("cookieyes-", "") )) || _ckyShouldBlockProvider(src ? src : element.src) ); } /** * Add readmore button to consent notice. * * @returns void */ function _ckyAttachReadMore() { const readMoreButton = _ckyStore._shortCodes.find( (code) => code.key === "cky_readmore" ); if (!readMoreButton.status) return; const content = readMoreButton.content; const styles = _ckyStore._bannerConfig.config.readMore.styles; const readMoreElement = document.querySelector( '[data-cky-tag="description"]' ); if (!readMoreElement) return; if (readMoreElement.childNodes.length > 1) { const innerElement = document.querySelector( '[data-cky-tag="description"] p:last-child' ); innerElement && innerElement.insertAdjacentHTML( "beforeend", ` ${content}` ); } else { readMoreElement.insertAdjacentHTML( "beforeend", ` ${content}` ); } const placeHolders = document.querySelectorAll( `[data-cky-tag="readmore-button"]` ); if (placeHolders.length < 1) return; Array.from(placeHolders).forEach((placeHolder) => { for (const style in styles) { if (!styles[style]) continue; placeHolder.style[style] = styles[style]; } }); } function _ckyAfterConsent() { if (_ckyGetLaw() === 'gdpr') _ckySetPreferenceCheckBoxStates(true); if (_ckyStore._bannerConfig.behaviours.reloadBannerOnAccept === true) { window.location.reload(); } } function _ckyAttachNoticeStyles() { if (document.getElementById("cky-style") || !_ckyStyle) return; document.head.insertAdjacentHTML( "beforeend", ` ` ); } function _ckyFindCheckBoxValue(id = "") { const elemetsToCheck = id ? [`ckySwitch`, `ckyCategoryDirect`] : [`ckyCCPAOptOut`]; return elemetsToCheck.some((key) => { const checkBox = document.getElementById(`${key}${id}`); return checkBox && checkBox.checked; }); } function _ckyAddPlaceholder(htmlElm, uniqueID) { const shortCodeData = _ckyStore._shortCodes.find( (code) => code.key === 'cky_video_placeholder' ); const videoPlaceHolderDataCode = shortCodeData.content; const { offsetWidth, offsetHeight } = htmlElm; if (offsetWidth === 0 || offsetHeight === 0) return; htmlElm.insertAdjacentHTML( "beforebegin", `${videoPlaceHolderDataCode}`.replace("[UNIQUEID]", uniqueID) ); const addedNode = document.getElementById(uniqueID); addedNode.style.width = `${offsetWidth}px`; addedNode.style.height = `${offsetHeight}px`; const innerTextElement = document.querySelector( `#${uniqueID} .video-placeholder-text-normal` ); innerTextElement.style.display = "none"; const youtubeID = _ckyGetYoutubeID(htmlElm.src); if (!youtubeID) return; addedNode.classList.replace( "video-placeholder-normal", "video-placeholder-youtube" ); addedNode.style.backgroundImage = `linear-gradient(rgba(76,72,72,.7),rgba(76,72,72,.7)),url('https://img.youtube.com/vi/${youtubeID}/maxresdefault.jpg')`; innerTextElement.classList.replace( "video-placeholder-text-normal", "video-placeholder-text-youtube" ); } function _ckyGetYoutubeID(src) { const match = src.match( /^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/ ); if (match && Array.isArray(match) && match[2] && match[2].length === 11) return match[2]; return false; } function _ckySetPlaceHolder() { const status = _ckyStore._bannerConfig.config.videoPlaceholder.status; const styles = _ckyStore._bannerConfig.config.videoPlaceholder.styles; if (!status) return; if (!status) return; const placeHolders = document.querySelectorAll( `[data-cky-tag="placeholder-title"]` ); if (placeHolders.length < 1) return; Array.from(placeHolders).forEach((placeHolder) => { placeHolder.style.display = "block"; placeHolder.addEventListener("click", () => { if (ref._ckyGetFromStore("action")) _revisitCkyConsent(); }); for (const style in styles) { if (!styles[style]) continue; placeHolder.style[style] = styles[style]; } }); } function _ckyAddRtlClass() { if (!_ckyStore._rtl) return; const rtlElements = ['notice', 'detail', 'optout-popup', 'revisit-consent', 'video-placeholder'] rtlElements.forEach(function (item) { _ckyGetElementByTag(item) && _ckyGetElementByTag(item).classList.add('cky-rtl'); }); } function _ckySetFocus(tagName) { const element = _ckyGetElementByTag(tagName); if (!element) return; element.focus(); } function _ckySetPoweredBy() { let position = 'flex-end'; ['detail-powered-by', 'optout-powered-by'].map((key) => { const element = document.querySelector( `[data-cky-tag="${key}"]` ); if (!element) return; element.style.display = "flex"; element.style.justifyContent = position; element.style.alignItems = "center"; }); } function _ckyWatchBannerElement() { document.querySelector("body").addEventListener("click", (event) => { const selector = ".cky-banner-element, .cky-banner-element *"; if ( event.target.matches ? event.target.matches(selector) : event.target.msMatchesSelector(selector) ) _revisitCkyConsent(); }); } function _ckyRemoveAllDeadCookies() { for (const category of _ckyStore._categories) { if (ref._ckyGetFromStore(category.slug) !== "yes") _ckyRemoveDeadCookies(category); } } function _ckySetCCPAOptions() { const toggle = _ckyStore._bannerConfig.config.optOption.toggle; const activeColor = toggle.states.active.styles['background-color']; const inactiveColor = toggle.states.inactive.styles['background-color']; _ckyClassRemove("=optout-option", "cky-disabled", false); const toggleDataCode = _ckyStore._shortCodes.find( (code) => code.key === "cky_optout_toggle_label" ); const optOutTitle = _ckyStore._shortCodes.find( (code) => code.key === "cky_optout_option_title" ); const formattedLabel = toggleDataCode.content.replace( `[cky_optout_option_title]`, optOutTitle.content ); const checked = ref._ckyGetFromStore("consent") === "yes"; _ckySetCheckBoxInfo( document.getElementById(`ckyCCPAOptOut`), formattedLabel, { checked, disabled: false, addListeners: true, }, { activeColor, inactiveColor }, true ); } function _ckySetCheckBoxInfo( boxElem, formattedLabel, { checked, disabled, addListeners }, { activeColor, inactiveColor }, isCCPA = false ) { if (!boxElem) return; if (isCCPA && addListeners) _ckyAttachListener("=optout-option-title", () => boxElem.click()); boxElem.checked = checked; boxElem.disabled = disabled; boxElem.style.backgroundColor = checked ? activeColor : inactiveColor; _ckySetCheckBoxAriaLabel(boxElem, checked, formattedLabel, isCCPA); if (!addListeners) return; boxElem.addEventListener("change", ({ currentTarget: elem }) => { const isChecked = elem.checked; elem.style.backgroundColor = isChecked ? activeColor : inactiveColor; _ckySetCheckBoxAriaLabel(boxElem, isChecked, formattedLabel, isCCPA); }); } window.revisitCkyConsent = () => _revisitCkyConsent();